Создание хэша хэша в Ruby
У меня есть хэш: hash1
hash1 = Hash.new
У меня есть еще один хэш: hash2
hash2 = Hash.new
Я добавил следующую пару ключ-значение:
hash2.store("k1","v1")
hash2.store("k2","v2")
hash2.store("k3",["v3","v4"])
Теперь я хочу иметь "key1"
в hash1
который будет связан с "k1", "k2", "k3"
из hash2
,
Я хочу что-то в этом роде:
{"key1"=>{"k1"=>"v1", "k2"=>"v2", "k3"=>["v3", "v4"]}}
Как мне связать hash1 и hash2.
3 ответа
Решение
Да, сделайте так, как показано ниже:
hash1 = Hash.new
hash2 = Hash.new
hash2.store("k1","v1")
hash2.store("k2","v2")
hash2.store("k3",["v3","v4"])
hash1['key1']= hash2
p hash1
Вы просто определяете ключ в своем новом хэше, а в качестве значения вы просто передаете хэш, который вы создали ранее:
h2 = {k1: "v1", k2: "v2", k3: ["v3","v4"]}
h1 = {key1: h2}
# => {:key1=>{:k1=>"v1", :k2=>"v2", :k3=>["v3", "v4"]}}
Или, если вы предпочитаете делать это с помощью метода магазина, просто передайте h2
в качестве аргумента:
h1["key1"] = h2