Rubyでファイルの読み書き

あるファイルを open してそのファイルに何かを書き込む、という例。

File.open を使う例

File.open('foo.txt', 'w') do |out_f|
  File.open('foo.txt') do |in_f|
    out_f.write in_f.read.gsub("¥s", ',')
  end
end

書き込みopen→読み込みopenと、open がネストしてやや冗長という印象。

File open mode

mode 意味
r read only (default)
w write only
r+ read/write ファイルの読み書き位置は先頭にセットされます。
w+ read/write ファイルがすでに存在していればその内容を空にします。

File.read, File.write を使う例

File.write 'foo.txt', File.read('foo.txt').gsub("¥s", ',')

スッキリ。

参考