2

我正在学习 Ruby,在我使用的书中,有一个这样的示例代码

#...
restaurant = Restaurant.new
restaurant.name = "Mediterrano"

restaurant.description = <<DESC
One of the best Italian restaurants in the Kings Cross area, 
Mediterraneo will never leave you disappointed
DESC

#...

有人可以向我解释上述示例中 <<DESC 的含义吗?它与常见的字符串双引号有何不同?


它允许以可读的方式创建多行字符串常量。请参阅http://en.wikibooks.org/wiki/Ruby_Programming/Here_documents

4

3 回答 3

11

它用于创建多行字符串。基本上,'<< DESC' 告诉 ruby​​ 考虑接下来的所有内容,直到下一个 'DESC' 关键字。“DESC”不是强制性的,因为它可以用其他任何东西代替。

a = <<STRING
Here
is
a
multiline
string
STRING

<< 运算符后跟一个标识文档结束的标识符。结束标记称为终止符。终止符之前的文本行连接在一起,包括换行符和任何其他空格。 http://en.wikibooks.org/wiki/Ruby_Programming/Here_documents

于 2012-08-17T19:45:19.120 回答
3

它允许以可读的方式创建多行字符串常量。请参阅http://en.wikibooks.org/wiki/Ruby_Programming/Here_documents

于 2012-08-17T19:43:39.907 回答
0

它被称为heredoc或 heredocument。它允许您编写多行代码。您可以在终端中测试它!

于 2017-09-19T08:53:21.390 回答