Ruby: синтаксис для интерполяции и комментирования строк - PullRequest
1 голос
/ 26 февраля 2012

Есть много похожих вопросов на этот вопрос, но я думаю, что ни один из них не имел ответа, в котором я нуждался.

Из того, что я понял, все, что имеет # перед ним становится комментарий, как в:

puts "not a comment"
# puts "in a comment"

, но когда дело доходит до интерполяции строк, вы можете сказать:

puts "time is #{Time.now}"

и # в #{Time.now}не начинайте комментировать все, что написано после него.

Как это так?

Ответы [ 2 ]

3 голосов
/ 26 февраля 2012

Да, что сказал @Осама.Но также, если вы поместите комментарий внутри фрагмента кода Ruby, он не закомментирует остальную часть всей строки.Итак,

puts "'#{'oof'#.reverse},' he said."

будет печатать "oof," сказал он, в то время как

puts "'#{'oof'.reverse},' he said."

приведет к "'foo," сказал он ".

3 голосов
/ 26 февраля 2012

Знак # в этом случае заключен в кавычки и анализируется как часть строки, а не как комментарий.

...