ISO 15.3.3
Return true if self
is less than other
. Otherwise
return false.
ISO 15.3.3.2.1
# File mrblib/compar.rb, line 13 def < other cmp = self <=> other if cmp.nil? raise ArgumentError, "comparison of #{self.class} with #{other.class} failed" end cmp < 0 end
Return true if self
is less than or equal to
other
. Otherwise return false.
ISO 15.3.3.2.2
# File mrblib/compar.rb, line 27 def <= other cmp = self <=> other if cmp.nil? raise ArgumentError, "comparison of #{self.class} with #{other.class} failed" end cmp <= 0 end
Return true if self
is equal to other
. Otherwise
return false.
ISO 15.3.3.2.3
# File mrblib/compar.rb, line 41 def == other cmp = self <=> other cmp == 0 end
Return true if self
is greater than other
.
Otherwise return false.
ISO 15.3.3.2.4
# File mrblib/compar.rb, line 52 def > other cmp = self <=> other if cmp.nil? raise ArgumentError, "comparison of #{self.class} with #{other.class} failed" end cmp > 0 end
Return true if self
is greater than or equal to
other
. Otherwise return false.
ISO 15.3.3.2.5
# File mrblib/compar.rb, line 66 def >= other cmp = self <=> other if cmp.nil? raise ArgumentError, "comparison of #{self.class} with #{other.class} failed" end cmp >= 0 end
Return true if self
is greater than or equal to
min
and less than or equal to max
. Otherwise
return false.
ISO 15.3.3.2.6
# File mrblib/compar.rb, line 81 def between?(min, max) self >= min and self <= max end
Returns min if obj <=>
min is
less than zero, max if obj <=>
max is greater than zero and obj otherwise.
12.clamp(0, 100) #=> 12 523.clamp(0, 100) #=> 100 -3.123.clamp(0, 100) #=> 0 'd'.clamp('a', 'f') #=> 'd' 'z'.clamp('a', 'f') #=> 'f'
# File mrbgems/mruby-compar-ext/mrblib/compar.rb, line 14 def clamp(min, max) if (min <=> max) > 0 raise ArgumentError, "min argument must be smaller than max argument" end c = self <=> min if c == 0 return self elsif c < 0 return min end c = self <=> max if c > 0 return max else return self end end