代码中的"<< - "是什么?

Baz*_*ley 2 ruby ruby-on-rails railscasts

这段代码来自Ryan Bates的Railscast第343集,内容是关于PostgreSQL中的全文搜索.我想理解它,但我在<<-操作员身上找不到任何东西(如果它甚至是操作员).有人可以指点我到某个地方,我可以了解这个吗?

rank = <<-RANK
  ts_rank(to_tsvector(name), plainto_tsquery(#{sanitize(query)})) +
  ts_rank(to_tsvector(content), plainto_tsquery(#{sanitize(query)}))
RANK
Run Code Online (Sandbox Code Playgroud)

arc*_*hie 5

它是ruby中的多行字符串,内容被内插,然后在PostgreSQL中执行.这是在命令行上运行脚本的标准方法.我用它来从Capistrano中编写AWS Scripts.

它使用here-doc语法.

http://blog.jayfields.com/2006/12/ruby-multiline-strings-here-doc-or.html

http://ruby-doc.org/core-2.2.0/doc/syntax/literals_rdoc.html#label-Here+Documents