中級 › Hash.new([]) のデフォルト値は全キーで同じ配列を共有してしまう › パターン1
Hash.new([]) のデフォルト値は全キーで同じ配列を共有してしまう
Hash.new([])で作ったハッシュは、存在しないキーにアクセスするたびに同じ1つの配列オブジェクトを返します。
1 totals = _____________________________ ^ 2 totals[:a] << 1 3 totals[:b] << 2 4 puts totals[:a].inspect
出力: [1, 2]
空欄を埋めて実行を通す
Hash.new([])のデフォルト値は全キーで同じ配列オブジェクトです。:bへの追加が:aの中身にまで現れてしまいます。
次の問題