1

有很多与此类似的问题,但我认为没有一个真正有我需要的答案。

据我所知,任何有#前面的东西都会变成评论,如:

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

但是当谈到字符串插值时,你可以说:

puts "time is #{Time.now}"

并且#at#{Time.now}不会开始评论它之后写的任何内容。

怎么会这样?

4

2 回答 2

3

在这种情况下,# 符号包含在引号中,并被解析为字符串的一部分,而不是注释。

于 2012-02-26T03:37:54.723 回答
2

是的,@Osama 说了什么。但是,如果您在 Ruby 代码块中添加注释,它不会注释掉整行的其余部分。所以,

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

将打印“'oof',他说”,而

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

结果是“'foo',他说”。

于 2012-02-26T03:48:33.343 回答