On 3/22/06, Timothy Bennett <timothy.s.bennett / gmail.com> wrote:
> Ok, this is off the original track of discussion a bit, but I wanted
> to bring this up.
>
> irb(main):007:0> 5 === Fixnum
> => false
> irb(main):008:0> Fixnum === 5
> => true
>
> irb(main):001:0> 5.class === Class
> => false
> irb(main):002:0> Class === 5.class
> => true
>
> I understand why this is happening (I think).  I just think this
> needs to be fixed.  Or is there a reason why === should not be
> commutative?

For the cases you give, it seems pretty straightforward, but what about this:

Fixnum===Class #false
Class===Fixnum #true

Should Class be considered a Fixnum just because Fixnum is a Class?