Method: Range#umbrella

Defined in:
lib/nano/range/umbrella.rb

#umbrella(r) ⇒ Object

Returns a two element array of the relationship between two Ranges.

Diagram:

  Relationship     Returns

self |-----------|
r    |-----------|    [0,0]

self |-----------|
r     |---------|     [-1,-1]

self  |---------|
r    |-----------|    [1,1]

self |-----------|
r     |----------|    [-1,0]

self |-----------|
r     |-----------|   [-1,1]

etc.

Example:

(0..3).umbrella(1..2)  #=>  [-1,-1]


31
32
33
34
35
# File 'lib/nano/range/umbrella.rb', line 31

def umbrella(r)
  s = self.first <=> r.first
  e = r.last <=> self.last
  return s,e
end