如何让ruby 1.9.3在文本文件中写入换行符?

tcf*_*dor 3 ruby windows newline text-files

我正在使用Windows 7.使用Ruby 1.8.7,写入一个文本文件,puts添加了换行符,以便这些irb命令:

my_file = File.new("C:\\new_file.txt", "w+")
my_file.puts("first line")
my_file.puts("\n\n")
my_file.puts("")
my_file.puts("fifth line")
my_file.close
Run Code Online (Sandbox Code Playgroud)

导致文本文件显示:

第一行

......这里有三个空白行(编辑器似乎也在剥离新行)

第五行

在Ruby 1.9.3中,即使我尝试通过添加a来强制删除换行符,也会删除换行符\n,从而生成一个文本文件:

第一行第五行

有谁知道改变了什么以及我需要做些什么来恢复我的文件换行?

Áko*_*ács 7

在Windows中,换行符是回车符和换行符,因此您必须使用:

myfile.puts("\r\n")
Run Code Online (Sandbox Code Playgroud)