学习 Ruby The Hard Way 第 9 章三重引号

Learn Ruby The Hard Way Chapter 9 Triple Quotes

Zed Shaw 的 Learn Ruby the Hard Way 第 9 章使用三重双引号:

puts """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
"""

我试着用单双引号写同样的东西,它似乎工作正常。我不明白三引号和单双引号之间的区别。我错过了什么吗?

我不知道他为什么在他的书中使用三重双引号。它们没什么特别的,一个双引号就可以了。

这是 ruby 中鲜为人知的 "feature" - 它只是将相邻的字符串粘合在一起。

s = "hello " "world" # equivalent to "hello " + "world"
s # => "hello world"

所以你的例子等同于

puts "" + "
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
" + ""

更多字符串技巧:http://pivotallabs.com/stupid-ruby-quoting-tricks/

我认为您在书中发现了一个错误 - 他使用三重引号的原因可能是 Python 允许您仅在使用三重引号时将字符串写在多行上,所以可能是他接管 "Learning Python the Hard Way" 的示例或简单地混合语言。

在 Ruby 中,您甚至可以在单引号中包含新行。

让他知道,我相信他会很感激的。