clone/dupの挙動

あくまでshallow copyなので、a.aryもb.aryも同じ配列オブジェクトを参照する。

class TestClass
	attr_accessor :ary

	def initialize
		@ary = Array.new
	end
end

A = TestClass.new
A.ary << "a"

B = A.clone
p A
p B

B.ary << "b"

p A
p B
%ruby clonetest.rb
#<TestClass:0x2bfe238 @ary=["a"]>
#<TestClass:0x2bfe170 @ary=["a"]>
#<TestClass:0x2bfe238 @ary=["a", "b"]>
#<TestClass:0x2bfe170 @ary=["a", "b"]>