Sha256: 071f9000c8b6044e54aa59c20914d81d90504c33c943eb33e0b74a9acd3b5676
Contents?: true
Size: 499 Bytes
Versions: 3
Compression:
Stored size: 499 Bytes
Contents
#-- # Credit goes to Niel Spring. #++ class Array # As with #shuffle but modifies the array in place. # The algorithm used here is known as a Fisher-Yates shuffle. # # require 'facet/array/shuffle' # # a = [1,2,3,4] # a.shuffle! # a #=> [2,4,1,3] # def shuffle! s = size each_index do |j| i = Kernel.rand(s-j) #self[j], self[j+i] = self[j+i], self[j] tmp = self[j] self[j] = self[j+i] self[j+i] = tmp end self end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
facets-0.7.0 | lib/facet/array/shuffle%21.rb |
facets-0.7.1 | lib/facet/array/shuffle%21.rb |
facets-0.7.2 | lib/facet/array/shuffle%21.rb |