2021-02-26 Rubyでハッシュのデフォルト値を配列にする
Rubyでハッシュのデフォルト値を配列にする
# ハッシュのデフォルト値を配列に
list = Hash.new{ |hash, key| hash[key] = []}
# キーの配列に要素を追加
list[:even] << 2
list[:odd] << 3
# 結果を見る
p list #=> {:even=>[2], :odd=>[3]}
ハッシュのデフォルト値をゼロで初期化
h = Hash.new { |hash, key| hash[key] = 0 }
h[:a] += 1 #=> 1
h[:a] += 1 #=> 2
h #=> {:a=>2}
まとめ
Hash.new{ |hash, key| hash[key] = []}
で初期値を配列にできる。