RubyのArray.newの第二引数
普段あんまり使うことなかったけどRubyのArray.new(N, v)のvを指定すると"同一オブジェクト"で埋める挙動になることを知った。"同一"なのでvを配列にすると1つの配列へのポインタだけを持ったArrayが生成される。よってvへpush/popなどすると全てのArrayの要素内の配列が変更される…
Array.new (Ruby 3.2 リファレンスマニュアル)
にもちゃんと
各要素は同一のオブジェクトである
と書いてある...
ruby