| class SizeMatters | 
|   include Comparable | 
|   attr :str | 
|   def <=>(anOther) | 
|     str.size <=> anOther.str.size | 
|   end | 
|   def initialize(str) | 
|     @str = str | 
|   end | 
|   def inspect | 
|     @str | 
|   end | 
| end | 
|  | 
| s1 = SizeMatters.new("Z") | 
| s2 = SizeMatters.new("YY") | 
| s3 = SizeMatters.new("XXX") | 
| s4 = SizeMatters.new("WWWW") | 
| s5 = SizeMatters.new("VVVVV") | 
|  | 
  | s1 < s2 | » | true | 
  | s4.between?(s1, s3) | » | false | 
  | s4.between?(s3, s5) | » | true | 
  | [ s3, s2, s5, s4, s1 ].sort | » | [Z, YY, XXX, WWWW, VVVVV] | 
| instance methods | 
| Comparisons | anObject <  otherObject -> trueorfalseanObject <= otherObject ->
 trueorfalseanObject == otherObject ->
 trueorfalseanObject >= otherObject ->
 trueorfalseanObject >  otherObject ->
 trueorfalse
 | 
 | Compares two objects based on the receiver's <=>method. | | between? | anObject.between?( min, max )
        -> trueorfalse | 
 | Returns falseif anObject<=>min is less than
      zero or if anObject<=>max is greater than zero,trueotherwise.
  | 3.between?(1, 5) | » | true |  
  | 6.between?(1, 5) | » | false |  
  | 'cat'.between?('ant', 'dog') | » | true |  
  | 'gnu'.between?('ant', 'dog') | » | false |  |