Method: Array#rotate!

Defined in:
lib/core/facets/array/rotate.rb

#rotate!(n = 1) ⇒ Object

Same as #rotate, but acts in place.

a = [1,2,3]
a.rotate!
a  #=> [2,3,1]

CREDIT: Florian Gross, Thomas Sawyer



35
36
37
38
39
40
41
42
43
44
# File 'lib/core/facets/array/rotate.rb', line 35

def rotate!(n=1)
  n = n.to_int
  return self if (n == 0 or self.empty?)
  if n < 0
    n.abs.times{ self.unshift( self.pop ) }
  else
    n.abs.times{ self.push( self.shift ) }
  end
  self
end