dcv*_*vii 3 ruby arrays hash yaml
我有两个爸爸进入我的YAML文件,但只有一个家庭出来.山姆怎么了?我该怎么办?
## 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
Run Code Online (Sandbox Code Playgroud)
您转储多个YAML文档但只读回一个.相反,您只需转储并读取整个数组:
require 'yaml'
dads = []
dads << {:name => "Joe", :kids => ["Mary", "John"]}
dads << {:name => "Sam", :kids => ["Sam Jr", "Samantha", "Samizdat"]}
open('dads.yml', 'w') { |f| YAML::dump(dads, f) }
family = YAML::load(File.read('dads.yml'))
p family
Run Code Online (Sandbox Code Playgroud)