2.21. Включение выражений в строку

2.21. Включение выражений в строку

Это легко позволяет сделать синтаксическая конструкция #{}. Нет нужды думать о преобразовании, добавлении и конкатенации; нужно лишь интерполировать переменную или другое выражение в любое место строки:

puts "#{temp_f} по Фаренгейту равно #{temp_c} по Цельсию"

puts "Значение определителя равно #{b*b — 4*а*с}."

puts "#{word} это #{word.reverse} наоборот."

Внутри фигурных скобок могут находиться даже полные предложения. При этом возвращается результат вычисления последнего выражения.

str = "Ответ равен #{ def factorial(n)

 n==0 ? 1 : n*factorial(n-1)

end

answer = factorial(3) * 7}, естественно."

# Ответ равен 42, естественно.

При интерполяции глобальных переменных, а также переменных класса и экземпляра фигурные скобки можно опускать:

print "$gvar = #$gvar и ivar = #@ivar."

Интерполяция не производится внутри строк, заключенных в одиночные кавычки (поскольку их значение не интерпретируется), но применима к заключенным в двойные кавычки встроенным документам и к регулярным выражениям.

Данный текст является ознакомительным фрагментом.