I did some searching on how to shuffle an array, and found
sort_by{rand}. However, if I call it, it doesn’t make a change to my
array at all. I’ve got a class like this
class MyClass
def initialize
# Populate the array
@my_array = Array.new
…
end
def shuffle!
@my_array.sort_by{rand}
end
end
If I call shuffle! from my code, the array’s elements are still in the
order that they were created. Why are they not being shuffled like I
want?
On Tue, Jan 03, 2006 at 07:03:42PM +0900, Pat M. wrote:
def shuffle!
@my_array.sort_by{rand}
@my_array = @my_array.sort_by{rand}
Mauricio F. wrote:
On Tue, Jan 03, 2006 at 07:03:42PM +0900, Pat M. wrote:
def shuffle!
@my_array.sort_by{rand}
@my_array = @my_array.sort_by{rand}
or @my_array.sort_by! { rand }
On Tue, Jan 03, 2006 at 08:54:33PM +0900, Devin M. wrote:
or @my_array.sort_by! { rand }
RUBY_RELEASE_DATE # => “2005-12-24”
RUBY_VERSION # => “1.8.4”
%w[a b c d].sort_by!{rand} # =>
~> -:3: undefined method `sort_by!’ for [“a”, “b”, “c”, “d”]:Array
(NoMethodError)
Mauricio F. wrote:
~> -:3: undefined method `sort_by!’ for [“a”, “b”, “c”, “d”]:Array (NoMethodError)
3.times { Hand.smack!(Head) }