Hi -- On Sat, 6 Jan 2007, Shea Martin wrote: > Consider a simple class like this: > class MyClass > def initialize > @var1 = '' > @arr1 = [] > end > end > > > Now if I have an instance of MyClass, and want to clone it, what is the > 'cleanest' way to do this? > > a = MyClass.new > b = a.clone > > This method leaves 'b.arr1' pointing to the same data as a.arr1. I don't see an a.arr1 method. Did you mean to create some accessors methods? The most common idiom I've seen for deep copying is: b = Marshal.load(Marshal.dump(a)) David -- Q. What is THE Ruby book for Rails developers? A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) Q. Where can I get Ruby/Rails on-site training, consulting, coaching? A. Ruby Power and Light, LLC (http://www.rubypal.com)