Операция #{ }
кажется настолько фундаментальной, что моя книга Ruby полностью пропускает ее определение. Может ли кто-нибудь дать объяснение?
Значение # {} в Ruby?
Ответ 1
Почему это хороший вопрос
Это сложный вопрос для Google, если вы не знаете правильные условия поиска. Оператор #{}
технически выполняет выражение подстановки внутри строкового литерала.
Ответ
Литерал #{}
- это оператор, используемый для интерполяции внутри строк с двойными кавычками так же, как обратные линии или конструкция $()
будут использоваться в Bash. С практической точки зрения выражение внутри литерала оценивается, а затем полное выражение #{}
(включая как оператор, так и его выражение) заменяется in situ результатом.
Ссылки по теме
Ответ 2
Он позволяет помещать Ruby-код в строку. Итак:
"three plus three is #{3+3}"
Вывести:
"три плюс три - 6"
Он обычно используется для вставки значений переменных в строки без необходимости возиться со конкатенацией строк:
"Your username is #{user}"
Ответ 3
Это оператор интерполяции строк, вы используете его для вставки выражения в строку. Ваша строка должна быть встроена в "чтобы эта магия работала, нет". Это намного быстрее и лучше, чем конкатенация строк.
var = "variable"
"this is a string with a #{var} in" => "this is a string with a variable in"