循环在具有特定键值对的文本文件上运行三次。每个循环都会返回一个新的哈希,它将打印在下面我想将这些散列存储到另一个散列中。 group1
,group2
和group3
是哈希键:无法在Ruby中创建散列哈希
"group1"
{
"path"=>"/tmp/",
"max_hits"=>262144,
"min_hits"=>5240
}
"group2"
{
"basic_size_limit"=>262144,
"path"=> "/usr/bin/ruby",
"max_hits"=>2412,
"min_hits"=>871
}
"group3"
{
"path"=>"/usr/tmp/",
"basic_time_limits"=>[26214400, 26214401, 26214402],
}
我初始化上述哈希作为groups = Hash.new
,而不是我想将它们存储到哈希散列。我想初始化更大的哈希像group_of_groups = Hash.new{|hash, key| hash[key] = Hash.new}
。
group_of_groups = Hash.new{|hash, key| hash[key] = Hash.new}
Loop i in 1 .. 3
groups = Hash.new
####
Do something and add to the hash groups
####
key_name = "group" + i
group_of_groups[key_name] = groups
end Loop
但它只是给了我{"group1"=>{}, "group2"=>{}, "group3"=>{}}
如何解决这个问题?
目前还不清楚重视你已经离开。个人散列中的3个群体是否是变量?请编辑以显示更多真实的Ruby代码并展示这3个哈希的源代码(我也看到''path'=“/ usr/bin/ruby”'带有不正确的运算符'='而不是'=>') –
这些是我印刷的三种不同的哈希值。我纠正了'='n'=>'的错误。我在这里提供更多信息 –
我明白它们是3种不同的哈希值,但它们是以变量存储的,还是以Array的形式存储? –