Class: Range
- Inherits:
-
Object
- Object
- Range
- Defined in:
- lib/five_leaves/range_util.rb
Instance Method Summary collapse
- #*(n) ⇒ Object
- #**(n) ⇒ Object
- #pair_with(range) ⇒ Object
- #pairs ⇒ Object
- #size ⇒ Object
- #squared ⇒ Object
- #stutter ⇒ Object
Instance Method Details
#*(n) ⇒ Object
21 22 23 |
# File 'lib/five_leaves/range_util.rb', line 21 def *(n) (size * n).times.lazy_map { |x| first + (x % size) } end |
#**(n) ⇒ Object
25 26 27 |
# File 'lib/five_leaves/range_util.rb', line 25 def **(n) (size * n).times.lazy_map { |x| first + (x / n) } end |
#pair_with(range) ⇒ Object
29 30 31 |
# File 'lib/five_leaves/range_util.rb', line 29 def pair_with(range) (self * range.size).lazy_zip(range ** self.size) end |
#pairs ⇒ Object
17 18 19 |
# File 'lib/five_leaves/range_util.rb', line 17 def pairs stutter.lazy_zip squared end |
#size ⇒ Object
5 6 7 |
# File 'lib/five_leaves/range_util.rb', line 5 def size last - first + 1 end |
#squared ⇒ Object
13 14 15 |
# File 'lib/five_leaves/range_util.rb', line 13 def squared (size * size).times.lazy_map { |x| first + (x % size) } end |
#stutter ⇒ Object
9 10 11 |
# File 'lib/five_leaves/range_util.rb', line 9 def stutter (size * size).times.lazy_map { |x| first + (x / size) } end |