On Apr 14, 2008, at 11:34 AM, Jason Roelofs wrote: > > # Always give a copy of the array, that way the internal @elems > # array is never changed. > def elems > @elems.clone > end > end does not work, neither does dup. both are rather shallow in ruby. if you *really* want a copy you need Marshal.load(Marshal.dump(@elems)) otherwise you'll end up with subtle bugs when the array is cloned, but elements inside of it, or deeper, are not. fyi. a @ http://codeforpeople.com/ -- we can deny everything, except that we have the possibility of being better. simply reflect on that. h.h. the 14th dalai lama