仅使用\ n换行符编写Ruby文件

时间:2015-11-04 12:58:22

标签: ruby-on-rails ruby

我最近将一个应用程序从Ubuntu移到了一个Redhat服务器上,并注意到编写一个文件时出现了差异,编写了\ r \ n而不是简单地编写\ n。

我在要写入的数据中明确设置\ n。所以,例如

data = "Hello\nWorld"
File.open("#{ Rails.root }/tmp/file.txt", "wb") { |f| f.write(data) }

写的是“Hello \ r \ nWorld”。

我知道Ruby会根据正在运行的系统设置换行符,但是有没有办法强制它来保持\ n无论系统是什么?

1 个答案:

答案 0 :(得分:-1)

不要将转义序列放在双引号中,因为ruby会查找替换并用一些二进制值替换它们。

如果你想强制执行ruby以保持相同的状态,例如' \ n'比你必须使用单引号。

示例:

data =' Hello \ nWorld'

File.open("#{Rails.root} /tmp/file.txt" ;," wb"){| f | f.write(data)}

它会保持不变。 :)