From: "Keith P. Boruff" Date: 2005-01-27T08:15:56+09:00 Subject: Re: clone and dup Robert Klemme wrote: > They do both shallow copy. > > Here's a difference: > >>> s="foo".freeze > => "foo" >>> s.frozen? > => true >>> s.clone.frozen? > => true >>> s.dup.frozen? > => false So it looks like the major difference is that clone copies the state of the original object and dup doesn't? At least in the context of "freeze"? > Probably because the path names are modified later on and the implementer > of find wanted to avoide side effects on the arguments. Or he wanted to > make sure that modifications to the argument objects don't affect find() > as it is likely to run comparatively long compared to other methods. Got it! Thanks! KPB