Sha256: 1333203901ac1c5e3b1982b633fbdb1aa632dd71563372173dcaa703601f4ba0
Contents?: true
Size: 1.31 KB
Versions: 26
Compression:
Stored size: 1.31 KB
Contents
class Range # 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] # def umbrella(r) s = self.first <=> r.first e = r.last <=> self.last return s,e end end # _____ _ # |_ _|__ ___| |_ # | |/ _ \/ __| __| # | | __/\__ \ |_ # |_|\___||___/\__| # =begin test require 'test/unit' class TCRange < Test::Unit::TestCase def test_umbrella assert_equal( [1,1], (3..6).umbrella(2..7) ) assert_equal( [0,1], (3..6).umbrella(3..7) ) assert_equal( [-1,1], (3..6).umbrella(4..7) ) assert_equal( [1,0], (3..6).umbrella(2..6) ) assert_equal( [0,0], (3..6).umbrella(3..6) ) assert_equal( [-1,0], (3..6).umbrella(4..6) ) assert_equal( [1,-1], (3..6).umbrella(2..5) ) assert_equal( [0,-1], (3..6).umbrella(3..5) ) assert_equal( [-1,-1], (3..6).umbrella(4..5) ) end end =end
Version data entries
26 entries across 26 versions & 1 rubygems