aハッシュです。ハッシュを繰り返しsプッシュしたい配列です。aアイデアは、反復的にプッシュされた各ハッシュの値を個別に保持することです。これが私が試したものです。
a = {:a=> 1, :b=>2}
s = []
s << a
s << a # => [{:b=>2, :a=>1}, {:b=>2, :a=>1}]
a[:b] = 3
s # => [{:b=>3, :a=>1}, {:b=>3, :a=>1}]
t = []
t.push(a) # => [{:b=>3, :a=>1}]
t.push(a) # => [{:b=>3, :a=>1}, {:b=>3, :a=>1}]
a[:b] = 4
t # => [{:b=>4, :a=>1}, {:b=>4, :a=>1}]
上記は解決策を提供しません。変更aすると、以前にプッシュされた配列内の要素の値が変更されます。aをs2 回押した後、a[:b]から に変更し2たところ3、すべての要素に変更が反映されました。これについての提案をお願いします。