Hi All
Another Query To bother you all:

1  class Person
2  def *(o)
3    puts "One person meets another"
4  end
5
6  def meets (o)
7    puts "One person meets another"
8  end
9  end

10 a= Person.new
11 b=Person.new
12
13 a * b
14 a.meets b

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
now with above Class the output is:
>ruby yet.rb
One person meets another
One person meets another

CASE 1
If I replace Line 13 with this:
  a % b  #(or any other operator i.e. $ ^ & et al.)

I get the following error :
yet.rb:16: undefined method `%' for #<Person:0x282dbf4> (NoMethodError)

CASE 2
But when i replaced Line 14 with this:
  a meets b
the error was this

>ruby yet.rb
One person meets another
yet.rb:17: warning: parenthesize argument(s) for future version
yet.rb:17: undefined method `meets' for main:Object (NoMethodError)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
THE QUERY

 If a method is encountered then what is order for locating the method
in class hierarchy?
 I mean base to child or reverse?

And regardless of that order why ruby tries to locate the "%" method
from Person (case 1)

while the "meets" method is searched for in Object (case 2)

Thanks in Advance
Raja

Ruby is  beautiful!

-- 
Posted via http://www.ruby-forum.com/.