One of the things I liked about Perl was string interpolation. If you use a variable name in a string, the variable will expand to its value. For example, if you a variable $x
which equals 42, then the string
"The answer is $x."
will expand to “The answer is 42.” Perl requires variables to start with sigils, like the $
in front of scalar variables. Sigils are widely considered to be ugly, but they have their benefits. Here, for example, $x
is clearly a variable name, whereas x
would not be.
You can do something similar to Perl’s string interpolation in Python with so-called f-strings. If you put an f
in front of an opening quotation mark, an expression in braces will be replaced with its value.
>>> x = 42 >>> f"The answer is {x}." 'The answer is 42.'
You could also say
>>> f"The answer is {6*7}."
for example. The f-string is just a string; it’s only printed because we’re working from the Python REPL.
The glue
package for R lets you do something very similar to Python’s f-strings.
> library(glue) > x <- 42 > glue("The answer is {x}.") The answer is 42. > glue("The answer is {6*7}.") The answer is 42.
As with f-strings, glue
returns a string. It doesn’t print the string, though the string is displayed because we’re working from the REPL, the R REPL in this case.