如何使用ruby将新行写入文件?

时间:2015-08-11 08:25:40

标签: ruby file

我的代码是:

def write_to_file(line, my_file)
  File.open(my_file, 'a') do |file|
    p '-----loop number:' + line.id.to_s
    file.puts "#{line.id}"
  end
end

如果我用这种方法循环三次,我可以看到:

-----loop number:1
-----loop number:2
-----loop number:3

但它只能将最后一个id写入my_file。我甚至试过了:

file << "#{line.id}"
# or
file.write "#{line.id}\n"

结果是一样的。

1 个答案:

答案 0 :(得分:3)

试试这个

def write_to_file(line, my_file)
  File.open(my_file, 'a') do |file|
     p '-----loop number:' + line.to_s
     file.puts "#{line}"
  end
end

[1,2,3,4].each do |line|
  write_to_file(line, my_file)
end