Как мне избежать # {от строковой интерполяции

У меня есть наследственность, где я использую#{} интерполировать некоторые другие строки, но есть случай, когда я также хочу написать фактический текст#{some_ruby_stuff} в моем наследстве, БЕЗ его интерполирования. Есть ли способ избежать # {. Я '

мы пробовали "\", но не повезло. Хотя это ускользает от#{}также включает в себя "\":

>> 

Ответы на вопрос(3)

терполяций, вы можете использовать одинарную кавычку style-heredoc. Это работает так:

item = <<-'END'
  #{code} stuff
  whatever i want to say #{here}
END
 Rob18 сент. 2013 г., 18:18
Это действительно правильный ответ, по крайней мере, для моего случая.

' цитаты вместо. Все, что в них заключено, не интерполируется.

Ваше решение с выходом# у меня тоже работает. Действительно переводчик Ruby показывает

=> "\#{anything}"

но

> puts "\#{anything}"
#{anything}
=> nil

Ваша строка включает в себя именно то, что вы хотели, толькоp Метод показывает это с помощью escape-символов. На самом деле,p Метод показывает, как должна быть записана строка, чтобы получить точно объект, представленный его параметром.

 Nick21 авг. 2009 г., 10:34
Возможно я неДостаточно ясно - это внутри наследства. Я'Мы обновили пример, чтобы отразить это лучше.
 rampion21 авг. 2009 г., 11:24
то же самое сохраняется."\#{anything}" == '#{anything}'  Нет интерполяции, и сгенерированная строка нена самом деле содержат обратную косую черту.irb просто отображает один, так как онс помощьюString#inspect, Пытатьсяputs
Решение Вопроса

что обратная косая черта - это просто Ruby, полезный каким-то образом.

>> a,b = 1,2        #=> [1, 2]
>> s = "#{a} \#{b}" #=> "1 \#{b}"
>> puts s           #=> 1 #{b}
>> s.size           #=> 6

Поэтому я думаю, что у вас уже есть правильный ответ.

 Nick21 авг. 2009 г., 12:00
Вы'верно. ирб был "полезно», Спасибо

Ваш ответ на вопрос