14

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

4

5 回答 5

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

您也可以使用f << "some data"f.puts "some data"根据个人口味/需要来换行。如果要附加到文件而不是在每次打开时截断,请将更改为"w""a"

于 2008-09-29T21:23:15.207 回答
3
require 'rio'
rio('foo.txt') < 'bar'

http://rio.rubyforge.org/

于 2009-02-18T11:44:09.380 回答
2

除了File.newFile.open(以及所有其他有趣的 IO 内容)之外,您可能希望,特别是如果您正在从 Ruby 保存和加载回 Ruby 并且您的数据在对象中,则可以考虑使用Marshal来保存和加载您的直接对象。

于 2008-09-29T21:33:00.423 回答
0

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

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

如前所述,您可以使用“a”而不是“w”来附加到文件。可能还有其他可用的模式,列在 下ri IO,或在Ruby Quickref中。

于 2008-09-30T03:05:38.347 回答
-2
filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"
于 2008-09-29T21:21:56.520 回答