我写了一个小应用程序,它使用一些关键字的基本代码文件、一个替换关键字的文件,并输出一个替换后关键字的新文件。
当我使用 Ruby 1.8 时,我的输出看起来很好。但现在使用 Ruby 1.9 时,替换后的代码中出现了换行符而不是回车符。
例如,我看到类似这样的内容:
["\r\nDim RunningNormal_1 As Boolean", "\r\nDim RunningNormal_2 As Boolean", "\r\nDim RunningNormal_3 As Boolean"]
改为:
Dim RunningNormal_1 As Boolean
Dim RunningNormal_2 As Boolean
Dim RunningNormal_3 As Boolean
我使用替换哈希表{"KEYWORD"=>["1","2","3"]}和被替换行的数组。
我使用以下代码块完成替换:
resultingLibs.each do |x|
libraryString.sub!(/(<REPEAT>(.*?)<\/REPEAT>)/im) do |match|
x.each do |individual|
individual.to_s
end
end
end
#for each resulting group of the repeatable pattern,
#
#Write out the resulting libs to a combined string
我的直觉是我打印的是数组而不是数组内的字符串。有什么修复建议吗?当我使用puts调试和打印替换后的字符串时,输出看起来是正确的。但当我使用to_s方法(这是我的应用程序将输出写入输出文件的方式)时,我的输出看起来是错误的。一个修复方法会很好,但我真正想知道的是Ruby 1.8和1.9之间发生了什么导致出现这种行为。在Ruby 1.9中,to_s方法是否发生了变化?
*我对Ruby不熟练