【发布时间】:2017-12-25 22:07:16
【问题描述】:
在红宝石 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,如何避免这种情况?
【问题讨论】:
在红宝石 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,如何避免这种情况?
【问题讨论】:
作为sagarpandya82 points out,您将需要额外的操作(即chomp)来删除额外的\n。
你可以像这样使用chomp和heredoc:
a = <<~TEXT.chomp
asd
asd
TEXT
#=> "asd\nasd"
【讨论】:
<<-TEXT.squish.squeeze(' ')
aa
b
TEXT
# => "aa b"
【讨论】: