2006年 09月 13日

Ruby \r\n

File.open("foge", "wb") do |f|
   f.puts "\n"
end
File.read("foge") #=> "\r\n"

みたいな情況になる。なんでだ!! OS も Linux なのになぁ

原因判明。gsub! と File#puts の組み合わせがよくないみたいだ。

body = "\r\n"
body.gsub!(/\r\n/, "\n")
File.open("foge", "wb") do |f|
   f.puts body
end
File.read("foge") #=> "\r\n"

なんでだろ。body = body.gsub にすればだいじょうぶ

いまいち再現しないので迷宮入り