From: Victor Shepelev Date: 2006-05-26T16:22:40+09:00 Subject: Re: Method '!=' From: Daniel Sheppard [mailto:daniels@pronto.com.au] Sent: Friday, May 26, 2006 10:18 AM > > Hello all. > > > > I've tried something like this: > > > > 'a'.send('==', 'b') #it works, returns true > > > > But > > > > 'a'.send('!=', 'b') > > > > said to me: > > > > tricks.rb:11:in `Kernel#send': undefined method `!=' for "a":String > > (NoMethodError) > > The syntax magic makes != work... but that doesn't mean you can't create > methods to do the same things. define_method is much more lenient on > method names than def is: > > class Object > define_method(:<) {|arg| self < arg } > define_method(:>) {|arg| self > arg } > define_method(:!=) {|arg| self != arg } > end > > 1.send(:>, 5) > => false > > 1.send(:<, 5) > => true Wow! Elegant. Thanks. V.