我在YAML文件中输入了两个“dads”,但只有一个家庭被输出了。Sam去哪了?我该如何让两个家庭都输出?
## dads.rb
require 'yaml'
require 'pp'
dad=[]
dad[0] = {:name => "Joe", :kids => ["Mary", "John"]}
dad[1] = {:name => "Sam", :kids => ["Sam Jr", "Samantha", "Samizdat"]}
open('dads.yml' , 'w') do |f|
dad.each do |d|
f.write YAML::dump(d)
end
end
family = []
open('dads.yml') do |f|
family << YAML::load(f.read)
end
pp fams
each_document
起作用,但在新的 YAML 实现中似乎不可用。文档并不是我见过的最好的。 - Niklas B.each_document
也已被弃用,并且实际上只是调用load_documents
。Psych仅处理load_documents
。 - Dylan Markow