我只是想使用 heredoc 作为哈希文字中的值。如果heredoc是最后一个元素,它可以正常工作:

{
  foo: 123,
  bar: <<-HEREDOC
    a longer text
  HEREDOC
}
#=> {:foo=>123, :bar=>"    a longer text\n"}

我找不到在 heredoc 之后添加另一个键值对的方法。或者,更具体地说,我找不到插入分隔逗号而不导致语法错误的方法:
{
  foo: 123,
  bar: <<-HEREDOC
    a longer text
  HEREDOC
  # <- causes a syntax error because a comma is missing here, but where to put it?
  baz: 456
}

最佳答案

这似乎有效

{
  foo: 123,
  bar: <<-HEREDOC,
    a longer text
  HEREDOC
  baz: 456
}

关于ruby - 如何在 Ruby 中的哈希文字中将heredoc 与其他键值对分开?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40320428/

10-14 05:49