Строковая интерполяция (операция #{}
) оценивает все между этими фигурными скобками как код и преобразует возвращаемое значение из выполнения в строку и помещает эту строку вместо #{}
.
.В первом примере строка r
включает b
, а b
это просто строка "puts \'Hello World\'"
.В этом случае "puts"
не имеет особого значения, потому что это просто строка.Таким образом, в этом первом случае r
становится:
"Testing .... #{"puts \'Hello World\'"}"
, который затем становится:
"Testing .... puts \'Hello World\'"
Во втором примере вы включаете окончательное значение от выполнения puts 'Hello World'
в пределахстрока r
.Поскольку puts
возвращает nil
, r
становится
"Testing .... #{nil}"
, который затем становится:
"Testing .... "