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 -> true or false anObject <= otherObject -> true or false anObject == otherObject -> true or false anObject >= otherObject -> true or false anObject > otherObject -> true or false
|
|
Compares two objects based on the receiver's <=> method.
| between? |
anObject.between?( min, max )
-> true or false
|
|
Returns false if anObject <=> min is less than
zero or if anObject <=> max is greater than zero,
true otherwise.
3.between?(1, 5) |
» |
true |
6.between?(1, 5) |
» |
false |
'cat'.between?('ant', 'dog') |
» |
true |
'gnu'.between?('ant', 'dog') |
» |
false |
|