class Range

Public Instance Methods

*(n) click to toggle source
# File lib/five_leaves/range_util.rb, line 21
def *(n)
  (size * n).times.lazy_map { |x| first + (x % size) }
end
**(n) click to toggle source
# File lib/five_leaves/range_util.rb, line 25
def **(n)
  (size * n).times.lazy_map { |x| first + (x / n) }
end
pair_with(range) click to toggle source
# File lib/five_leaves/range_util.rb, line 29
def pair_with(range)
  (self * range.size).lazy_zip(range ** self.size)
end
pairs() click to toggle source
# File lib/five_leaves/range_util.rb, line 17
def pairs
  stutter.lazy_zip squared
end
size() click to toggle source
# File lib/five_leaves/range_util.rb, line 5
def size
  last - first + 1
end
squared() click to toggle source
# File lib/five_leaves/range_util.rb, line 13
def squared
  (size * size).times.lazy_map { |x| first + (x % size) }
end
stutter() click to toggle source
# File lib/five_leaves/range_util.rb, line 9
def stutter
  (size * size).times.lazy_map { |x| first + (x / size) }
end