Значение # {} в 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"