Inequality test


#1

Hi, all

I have tested comparison test by using object concept.

I mean this one

a = 1

a.send(’==’, 1)
=> true

a.send(’>’, 0)
==>true

a.send(’<’, -1)
==> false

With this concept, however, I cannot test inequlity test(’!=’).

Whenever I try to this test, I met the following error.

irb(main):001:0> a = 1
=> 1
irb(main):002:0> a.send(’!=’, 0)
NoMethodError: undefined method !=' for 1:Fixnum from (irb):2:insend’
from (irb):2
from :0
irb(main):003:0>

Any idea for this?


#2

On Dec 20, 2008, at 07:07, juneng wrote:

irb(main):002:0> a.send(’!=’, 0)
NoMethodError: undefined method !=' for 1:Fixnum from (irb):2:insend’
from (irb):2
from :0

!= is purely syntactical sugar for !(foo == bar). If you send ‘==’ and
negate the result, that’ll give you what you want. You can’t define
the != method, and you can’t make it mean anything other than “the
negation of ==.”