私は現在、クラスの中にあるメソッドの中で作業しています。コピーされた配列が元のようになります
私はそうのように私の配列を複製しようとした:
fakearray = []
@puzzarray.each_index do |row|
fakearray << @puzzarray[row]
end
そして
fakearray = @puzzarray.clone
が、私は@puzzarray
をプリントアウトするとき、私はそれは私がfakearray
のためにしたすべての変更を保持していることに気づきました。 fakearray
の目的は、私のコードが@puzzarray
で実行される前に動作していたかどうかを確認するためにクローンとして使用することでしたが、それでもやはりすべての悪い変更を保ちました。助言がありますか?
あなただけの '配列をdup'することができるはずです。 'fakearray = @ puzzarray.dup'です。 'object_id'、' fakearray.object_id == @ puzzarray.object_id'をチェックして、異なるオブジェクトであるかどうかを調べることができます。もしそうであれば、異なるメモリ空間にあり、相互作用はありません。 – Kris