From: Wilson Bilkovich Date: 2007-01-17T02:32:37+09:00 Subject: Re: what is dup? On 1/16/07, David Madden wrote: > I am playing with an example in the ruby cookbook where a shuffle > function is added to the array class: > > class Array > > def shuffle! > each_index do |i| > j = rand(length-i) + i > self[j], self[i] = self[i], self[j] > end > end > > def shuffle > dup.shuffle! > end > > end > > What I don't understand is the line "dup.shuffle!" > > What is the dup object? > dup returns a copy (duplicate) of the object. In the above code, it is used to let you get back a shuffled copy of the Array, without shuffling the original. type: ri Object#dup for more info.