Как создать файл с Unix newline в Ruby для Windows?

2009-01-21 11:33; Tags:

Казалось бы, что может быть проще?

f = File.new("d:/tmp/test.txt", "w")
f.print "Line 1 with CRLF line ending.\n"
f.print "Line 2 with CRLF line ending.\n"
f.print "Line 3 with CRLF line ending.\n"
f.close

Однако в файл запишутся CRLF’ы (\r\n), потому как \n, использованный в f.print‘е, в Ruby зависит от платформы.
А вот если открыть файл в binary режиме, то все будет шоколадно:

f = File.new("d:/tmp/test.txt", "wb")
f.print "Line 1 with LF line ending.\n"
f.print "Line 2 with LF line ending.\n"
f.print "Line 3 with LF line ending.\n"
f.close

Powered by WordPress