在ruby中添加散列到散列

hivapdat  于 2022-12-12  发布在  Ruby
关注(0)|答案(2)|浏览(148)
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,但我不知道如何做到这一点。请帮助我找到解决方案。

xqkwcwgp

xqkwcwgp1#

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} ]
3b6akqbq

3b6akqbq2#

我是从一个关于如何将一个hash添加到一个hash的搜索中来到这里的。

# 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}}

相关问题