拼音:<<- 运算符



我正在从事轨道上工作。在我的代码库中,我看到了这样使用Arel::SqlLiteral这样的行:

result = Arel::Nodes::SqlLiteral.new(<<-SQL
  CASE WHEN condition1 THEN calculation1
  WHEN condition2 THEN calculation2
  WHEN condition3 THEN calculation3
  ELSE default_calculation END
SQL)

我了解该代码作品的作用。我不明白的是它的语法,此时:

Arel::Nodes::SqlLiteral.new(<<-SQL
  ...
  SQL
)

so在ruby中, <<-的语法是什么,然后终于命名为名称。

谢谢

您要寻找的关键字是" Heredoc"。

https://ruby-doc.org/core-2.2.0/doc/syntax/literals_rdoc.html#label-here-here-here documents

它主要用于使大型文本和外壳/壳标的常见实践。顶部的标记指示了Heredoc的开头和底部的标记(除非您在打开标记之前放置" - ",否则不得缩进。

相关内容

  • 没有找到相关文章

最新更新