当我尝试将数据从哈希保存到文件时,我只得到哈希的最后一行。出了什么问题?
h= {}
infoArray.zip(href) {|a,b| h[a.to_sym] = b } # i convert two array in hash
File.open("lib/alreadyPass.yml","w") do |file|
file.write h.to_yaml
end
我的哈希的一个例子是:
{:"client-1.domaine.net"=>"www.client-1.domaine.net/index.html/xxxxxx"}
{:"client-2.domaine.net"=>"www.client-2.domaine.net/index.html/xxxxxx"}
我得到的输出YAML文件是:
---
:client-1.domaine.net:
- www.client-1.domaine.net/index.html/xxxxxx
答案 0 :(得分:2)
正确的方法是这样的:
require 'yaml'
array_of_hashes = [{:"client-1.domaine.net"=>"www.client-1.domaine.net/index.html/xxxxxx"},{:"client-2.domaine.net"=>"www.client-2.domaine.net/index.html/xxxxxx"}]
File.open("lib/yamlfile.yml","w") do |file|
file.write array_of_hashes.to_yaml
end
这也适用于散列哈希......