class Array
Public Instance Methods
reduce_ranges()
click to toggle source
# File lib/reduce_ranges.rb, line 4 def reduce_ranges raise TypeError unless all? { |el| el.is_a?(Fixnum) } results = [] temp = [self[0]] self[1..-1].each do |e| temp << e && next if temp.last == e - 1 results << (temp[1] ? (temp[0]..temp.last) : temp[0]) temp = [e] end results << (temp[1] ? (temp[0]..temp.last) : temp[0]) end