用Ruby写入文件的最佳方法是什么?

时间:2020-03-06 14:53:50  来源:igfitidea点击:

我想将一些数据写入Ruby中的文件。最好的方法是什么?

解决方案

filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"

File.open("a_file", "w") do |f|
    f.write "some data"
end

我们也可以根据个人喜好/换行的需要使用f <<"一些数据"或者f.put"一些数据"。如果要添加到文件而不是每次打开都被截断,请将" w"更改为" a"。

除了File.new或者File.open(以及所有其他有趣的IO东西)之外,我们可能还希望,特别是如果要从Ruby中保存并重新加载到Ruby中,并且数据位于对象中,则可以考虑使用Marshal来保存和加载直接对象。

使用File :: open是最好的方法:

File.open("/path/to/file", "w") do |file|
  file.puts "Hello file!"
end

如前所述,我们可以使用" a"代替" w"添加到文件中。可能在" ri IO"下或者Ruby Quickref上列出的其他模式可用。

require 'rio'
rio('foo.txt') < 'bar'

http://rio.rubyforge.org/