将hash添加到ruby中的hash


final_sub_hash = {}
<% workers.each do |work| %>
<% sub_hash = {} %>
<% sub_hash = {:name => work['name'], :gender => work['gender']} %>        
<% final_sub_hash.update(sub_hash) %>
<% end %>

我想做的是将sub_hash的值附加到final_sub_hash,但我不知道如何做到这一点。请帮我找到解决方案。

hash.store(key, value)hash中存储一个键值对。

示例:

hash   #=> {"a"=>1, "b"=>2, "c"=>55}
hash["d"] =  30 #=> 30
hash   #=> {"a"=>1, "b"=>2, "c"=>55, "d"=>30}

你想做的是一份清单。

示例:

works = []
work.append(hash) #=> [ {"a"=>1, "b"=>2, "c"=>55, "d"=>30} ]

我是在搜索如何将哈希添加到哈希后来到这里的。如果其他人也有同样的疑问,这里有一个很好的例子

# Create a hash
h = {a: 1, b: 2}
# => {:a=>1, :b=>2}
# Add a hash to the existing hash
h.store(:c, {i: 10, ii: 20})
# > {:a=>1, :b=>2, :c=>{:i=>10, :ii=>20}}

新密钥可以是一个符号(如上所述,类似于:c(,但也可以是字符串:

h.store("c", {i: 10, ii: 20})
# => {:a=>1, :b=>2, "c"=>{:i=>10, :ii=>20}}

最新更新