Class: Range
Instance Method Summary collapse
-
#intersect(rb) ⇒ Object
(also: #-)
Given two ranges return the range where they intersect or None.
Instance Method Details
#intersect(rb) ⇒ Object Also known as: -
Given two ranges return the range where they intersect or None.
intersect((0, 10), (0, 6)) (0, 6) intersect((0, 10), (5, 15)) (5, 10) intersect((0, 10), (10, 15)) intersect((0, 9), (10, 15)) intersect((0, 9), (7, 15)) (7, 9)
524 525 526 527 528 529 530 531 532 533 |
# File 'lib/amp/support/support.rb', line 524 def intersect(rb) ra = self start_a = [ra.begin, rb.begin].max start_b = [ra.end, rb.end ].min if start_a < start_b start_a..start_b else nil end end |