- Read Tutorial
- Watch Guide Video
In this lesson, we are going to talk about string interpolation in Ruby.
What is string interpolation?
So what exactly is string interpolation? Good question, it's the process of being able to seamlessly integrate dynamic values into a string.
Let's assume we want to slip dynamic words into a string. We can get input from the console and store that input into variables. From there we can call the variables inside of a pre-existing string.
For example, let's give a sentence the ability to change based on a user's input.
puts "Name an animal" animal = gets.chomp puts "Name a noun" noun= gets.chomp p "The quick brown #{animal} jumped over the lazy #{noun} "
Note the way I insert variables inside the string? They are enclosed in curly brackets and are preceded by a #
sign.
If I run this code, this is what my output will look:
So, this is how you insert values dynamically in your sentences.
If you see sites like Twitter, it sometimes displays personalized messages such as: Good morning Jordan
or Good evening Tiffany
. This type of behavior is made possible by inserting a dynamic value in a fixed part of a string and leverages string interpolation.
Now, let's use single quotes instead of double quotes, to see what happens.
As you'll see, the string was printed as it is without inserting the values for animal
and noun
. This is exactly what happens when you try using single quotes - it prints the entire string as it is without any interpolation. Therefore it's important to remember the difference.
Another interesting aspect is that anything inside the curly brackets can be a Ruby script. So, technically you can type your entire algorithm inside these curly brackets, and Ruby will run it perfectly for you. However, it is not recommended for practical programming purposes.
For example, I can insert a math equation, and as you'll see it prints the value out.