Method: Range#===

Defined in:
lib/source/ruby.rb

#===(obj) ⇒ Object

call-seq:

rng === obj       -> true or false
rng.include?(obj) -> true or false
rng.member?(obj)  -> true or false

Returns true if obj is an element of rng, false otherwise. Conveniently, === is the comparison operator used by case statements.

case 79
  when 1..50   : puts "low"
  when 51..75  : puts "medium"
  when 76..100 : puts "high"
end

produces:

high


4885
4886
4887
4888
# File 'lib/source/ruby.rb', line 4885

def ===(obj)
  `var s=#{obj <=> `this.__start__`},e=#{obj <=> `this.__end__`}`
  `s==0||s==1?(this.__exclusive__?e==-1:e==-1||e==0):false`
end