Rubyでの値渡しの実現方法
オブジェクトのディープコピーが値渡しの代わり。
new_obj = Marshal.load(Marshal.dump(obj))で行えます。
オブジェクトの参照関係を辿り、ディープコピーを
行い、ディープコピーしたオブジェクトのアドレス(場所)
がnew_objに入ります。
※String等一部のクラスではnewメソッドでディープコピーを行えます。
オブジェクトのディープコピーが値渡しの代わり。
new_obj = Marshal.load(Marshal.dump(obj))で行えます。
オブジェクトの参照関係を辿り、ディープコピーを
行い、ディープコピーしたオブジェクトのアドレス(場所)
がnew_objに入ります。
※String等一部のクラスではnewメソッドでディープコピーを行えます。