【发布时间】:2014-01-29 16:07:31
【问题描述】:
我使用 heredoc 制作了一些简单的示例数据,例如:
> str = <<TEXT
abc^M^M^M
def^M^M^M^M
TEXT
现在看看这个字符串的内容:
> p str
"abc\r\r\ndef\r\r\r\n"
注意三个回车变成两个"\r"s,四个回车变成三个"\r"s。我还尝试了 %q() 语法,结果相同。将相同的数据放入文件中并读取它会生成正确的字符串,其中"\r"s 的数量是正确的。
可能问题与“How can I preserve / maintain consecutive newlines in Ruby here-document?”有关。
P.S.:在文件和irb 中运行脚本都会发生这种情况,使用 Ruby 1.8.7-p371、1.9.3-p392 和 2.0.0-p247。
【问题讨论】:
-
您需要包含您的 Ruby 版本以及您的运行方式。