中級 › Hash.new([]) のデフォルト値は全キーで同じ配列を共有してしまう › パターン3
Hash.new([]) のデフォルト値は全キーで同じ配列を共有してしまう
Hash.new([])で作ったハッシュは、存在しないキーにアクセスするたびに同じ1つの配列オブジェクトを返します。
1 logs = _____________________________ ^ 2 logs[:info] << "start" 3 logs[:error] << "fail" 4 puts logs[:info].inspect
出力: ["start", "fail"]
空欄を埋めて実行を通す
Hash.newの引数は一度だけ評価される1つのオブジェクトです。全キーがそれを使い回してしまいます。
次の問題