不常见的Ruby语法&lt; <abc - =“”what =“”does =“”it =“”完成?=“”

时间:2016-04-26 12:43:38

标签: ruby

=“”

刚刚在Github上的Google Ruby API客户端中找到了这段代码。

NOT_FOUND_ERROR = <<END
Could not load the default credentials. Browse to
https://developers.google.com/accounts/docs/application-default-credentials
for more information
END

我从未见过它并在控制台中测试过它:

>> NOT_FOUND_ERROR = <<END
blabla
END
=> "blabla\n"

所以基本上创建字符串是一种奇怪的方式吗?使用此语法的动机是什么,而不是NOT_FOUND_ERROR = "blabla\n"

编辑:由于此问题标有&#34;可能重复&#34;我想解释为什么它不仅仅是一个重复。可能重复的问题只是询问某个ruby脚本的作用。这个Ruby脚本还包含<<ABC语法,这显然是问题的核心,但它并不是很有用,因为它很难找到。除此之外,我还要进一步询问使用这种表示法创建普通字符串的动机。

1 个答案:

答案 0 :(得分:3)

是HEREDOC。您可以阅读更多相关信息here(wiki)和here(Ruby实例)。通常使用heredocs来提高多行文本的可读性。