From: Raj Singh Date: 2008-05-30T04:25:45+09:00 Subject: instance method adding another instance method to the class class Person end p = Person.new def p.something def speaks puts 'i speak' end end p.something Person.new.speaks I am trying to understand why the last line is working. When p.something is executed then the self is 'p object'. Now method speaks is being defined while the self is p. Since speaks is an instance method a method should be defined in p's metaclass. But p's meta class is not Person. Any one cares to explain how method speaks get defined as an instance method for Person class. -- Posted via http://www.ruby-forum.com/.