读取文件并将数据发送到yml文件

时间:2014-02-03 16:37:36

标签: ruby ruby-on-rails-4

我读了多个文件,我尝试在yaml文件中获取数据,但我不知道为什么我的yaml文件中没有任何内容。

你知道我哪里可以犯错吗?

a = array.size
i = 0

array.each do |f|
  while i < a
    puts array[i]
    output = File.new('/home/zyriuse/documents/Ruby-On-Rails/script/Api_BK/licence.yml', 'w')
    File.readlines(f).each do |line|
      output.puts line 
      output.puts line.to_yaml
      #output.puts YAML::dump(line)
    end
    i += 1
  end
end 

1 个答案:

答案 0 :(得分:0)

有两个问题......

  1. 您正在将我初始化为过零...当您处理时 第一个文件'f'你处理JUST第一个文件的次数和你一样多 有数组中的文件,但对于所有后续文件我现在总是&gt; = a所以你没有对它们做任何事情。

  2. 你在'f'的每次迭代中都在做File.new,所以你正在消灭你的最后一次迭代。

  3. 这可能会更好......

    output = File.new('licence.yml', 'w')
    array.each do |f|
        puts f
        File.readlines(f).each do |line|
          output.puts line
          output.puts line.to_yaml
        end
    end