Ruby on rails 仅使用换行符写入Ruby文件\n

Ruby on rails 仅使用换行符写入Ruby文件\n,ruby-on-rails,ruby,Ruby On Rails,Ruby,我最近将一个应用程序从Ubuntu移动到了Redhat服务器上,并注意到在编写文件时出现了一个差异,即\r\n正在编写,而不是简单地\r\n 我正在明确设置要写入的数据中的\n。比如说 data = "Hello\nWorld" File.open("#{ Rails.root }/tmp/file.txt", "wb") { |f| f.write(data) } 正在编写的实际上是“Hello\r\nWorld” 我知道Ruby会根据它运行的系统设置换行符,但是有没有办法强制它保持\n任何

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

我正在明确设置要写入的数据中的\n。比如说

data = "Hello\nWorld"
File.open("#{ Rails.root }/tmp/file.txt", "wb") { |f| f.write(data) }
正在编写的实际上是“Hello\r\nWorld”


我知道Ruby会根据它运行的系统设置换行符,但是有没有办法强制它保持\n任何系统?

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

如果希望强制ruby保持与“\n”相同,则必须使用单引号

例如:

数据='Hello\nWorld'

open(“{Rails.root}/tmp/File.txt”,“wb”){f | f.write(data)}

它将保持不变。:)