"<< - "在Ruby中意味着什么?

cam*_*dub 30 ruby

例如:

code = <<-EOH
    bundle install
    bundle exec unicorn -c /etc/unicorn.cfg -D
EOH
Run Code Online (Sandbox Code Playgroud)

这段代码有什么作用?什么<<-叫?

Ser*_*sev 39

它被称为heredoc.一种简单的方法来定义多行字符串,可以包括单引号或双引号,而无需转义它们.

例如,在这里查看更多.

通常使用heredocs来定义大块代码.一些编辑知道这一点,并可以在那里突出显示语法(如果您指定语言).看:

字符串与heredocs


dra*_*788 8

Ruby 还有一个更新的 HEREDOC 语法<<~END,它更类似于您在大多数 shell 和其他语言中通常看到的语法,而不是~告诉-Ruby 去除前导空格以匹配块中缩进最少的行。

https://infinum.co/the-capsized-eight/multiline-strings-ruby-2-3-0-the-squiggly-heredoc