如何避免 heredoc 中的最后一个 \n 字符

How to avoid last \n character in heredoc

在 ruby heredoc 中:

a = <<~TEXT
  asd
  asd
TEXT

它将生成:

[21] pry(main)> a = <<~TEXT
[21] pry(main)*   asd
[21] pry(main)*   asd
[21] pry(main)* TEXT
=> "asd\n" + "asd\n"

它在字符串末尾生成一个\n,如何避免这种情况?

作为 ,您将需要一个额外的操作(即 chomp)来移除额外的 \n

您可以像这样将 chompheredoc 一起使用:

a = <<~TEXT.chomp
  asd
  asd
TEXT
#=> "asd\nasd"
<<-TEXT.squish.squeeze(' ')
  aa
                  b
TEXT
# => "aa b"