Method: Array#slices

Defined in:
lib/webget_ruby_ramp/array.rb

#slices(slice_length) ⇒ Array<Array<Object>>

Slice the array.

If the slices don’t divide evenly, then the last is smaller.

Examples:

[1,2,3,4,5,6,7,8].slices(2) => [[1,2],[3,4],[5,6],[7,8]]
[1,2,3,4,5,6,7,8].slices(4) => [[1,2,3,4],[5,6,7,8]]
[1,2,3,4,5,6,7,8].slices(3) => [[1,2,3],[4,5,6],[7,8]] 
[1,2,3,4,5,6,7,8].slices(5) => [[1,2,3,4,5],[6,7,8]] 

Returns:



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/webget_ruby_ramp/array.rb', line 145

def slices(slice_length)
  (slice_length.is_a? Integer) or (raise ArgumentError, "slice_length must be an integer")
  (slice_length > 0) or (raise ArgumentError, "slice_length must be > 0")
  arr=[]
  index=0
  while index<length
    arr.push self[index...(index+slice_length)]
    index+=slice_length
  end
  return arr
end