Цикл выполняется три раза в текстовом файле, который имеет определенные пары ключ-значение. Каждый цикл возвращает новый хэш, который напечатан ниже. Я хочу сохранить эти хэши в другой хэш. 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 и продемонстрировать источник этих трех хэшей (также я вижу «путь» = «/ usr/bin/ruby» 'с неправильным оператором' = 'вместо' => ') –
Это три разных хэша, которые я напечатал. Я исправил ошибку '=' n '=>'. Я помещаю здесь дополнительную информацию –
Я понимаю, что они 3 разных хэша, но хранятся ли они в переменных, как в массиве или иначе? –