1)我试图从data.txt中多行文本散列到YAML转换产生最后一行
Christopher Plummer;Dec 13, 1927
Christopher Walken;Mar 31, 1943
The King of Spain;Jan 5, 1938
2读字符串)在拆分所有字符串“;”并将它们转换成散列
3)hash来YAML
4)写YAML到文件
问题:写YAML到文件只产生最后一行
data = Hash.new
require 'yaml'
filename = 'Ydata.txt'
File.read('Data.txt').each_line do |line|
line = line.chomp
line = line.split ';'
data = { "#{line[0]}" => "#{line[1]}" }.to_yaml
end
File.open filename, 'w' do |f|
f.write data
end
你的问题是什么? – sawa
你每次循环迭代都要更换'data',你必须连接或者把它放在一个数组中 – api55
你可以把文件保存在一行中:'File.write(filename,data)' –