H
Heesob Park
Hi,
I noticed the following behaviour.
irb(main):001:0> a = 1
=> 1
irb(main):002:0> a.class
=> Fixnum
irb(main):003:0> a.class == Fixnum
=> true
irb(main):004:0> a.class === Fixnum
=> false
irb(main):005:0> Fixnum === Fixnum
=> false
irb(main):006:0> a === Fixnum
=> false
irb(main):007:0> Fixnum === a
=> true
As a result:
case 1
when Fixnum
puts 'Fixnum'
else
puts 'else'
end
# => Fixnum
case 1.class
when Fixnum
puts 'Fixnum'
else
puts 'else'
end
#=> else
What is the reason Fixnum === Fixnum returns false?
Regards,
Park Heesob
I noticed the following behaviour.
irb(main):001:0> a = 1
=> 1
irb(main):002:0> a.class
=> Fixnum
irb(main):003:0> a.class == Fixnum
=> true
irb(main):004:0> a.class === Fixnum
=> false
irb(main):005:0> Fixnum === Fixnum
=> false
irb(main):006:0> a === Fixnum
=> false
irb(main):007:0> Fixnum === a
=> true
As a result:
case 1
when Fixnum
puts 'Fixnum'
else
puts 'else'
end
# => Fixnum
case 1.class
when Fixnum
puts 'Fixnum'
else
puts 'else'
end
#=> else
What is the reason Fixnum === Fixnum returns false?
Regards,
Park Heesob