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)' –