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

有帮助吗?

解决方案

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

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

其他提示

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

http://rio.rubyforge.org/

超越 File.new File.open (以及所有其他有趣的IO东西),特别是如果你是从加载回Ruby并将数据放入对象中,使用 Marshal 直接保存和加载对象。

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

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

如前所述,您可以使用<!>“a <!>”;而不是<!>“w <!>”;附加到文件。可以使用其他模式,列在ri IO下,或 Ruby Quickref

filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top