🖥

Ruby | ハッシュの中のハッシュの中に配列を作る

2023/08/26に公開

問題

ネストしたハッシュの中で配列を扱いたい
なおかつその配列に、いきなり .push とかしたい。

こんな感じで。

nested = {}

nested[:a][:b].push :c
nested[:a][:b].push :d

puts nested # => {:a=>{:b=>[:c, :d]}}

解決

nested = Hash.new do |h1,k1|
  h1[k1] = Hash.new do |h2,k2|
    h2[k2] = []
  end
end
nested[:a][:b].push(:c)
nested[:a][:b].push(:d)

puts nested # => {:a=>{:b=>[:c, :d]}}

環境

  • ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

参考

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2016-07-13

Discussion