在Ruby中,如何打开文件并将数组的每个成员写入单独的行并关闭它?

时间:2014-02-15 19:18:59

标签: ruby

这是一种类方法。到目前为止,这就是我所拥有的:

  def self.save(array, my_file)

    File.open(my_file) do |f|
        f.lines.each do |line|
            text_line = line
            text_line.write
        end
    end
  end

2 个答案:

答案 0 :(得分:2)

我会这样做:

def self.save(array, my_file)
  File.open(my_file,'w') do |f|
    f.puts array
  end
end

IO::puts,如果使用数组参数调用,则将每个元素写入新行。您不需要像调用IO::open那样手动关闭文件。根据{{​​1}}的文档,如果给出了可选的代码块,它将作为参数传递给我,并且当块终止时IO对象将自动关闭。

答案 1 :(得分:1)

使用继承自IO#puts

的File#puts
def self.save(array, my_file)
  File.open(my_file, 'w+') do |f|
    array.each do |line|
      f.puts line
    end
  end
end