Where nested methods go?

Hi,
I'm very new to ruby, so please forgive me if my question seems somehow
silly.
I typed the following code:

class Myclass
  def m1
    def m2
      puts "m2"
    end
  end
end

a = Myclass.new
a.m1
a.m2

b = Myclass.new
b.m2

which gives the following output:

m1
m2

While it is clear to me where the m1 method goes (that is: in the class
object referred by Myclass constant) I'm a bit confused on why also m2
is in Myclass class object!

I need some clarifications about it...

tahnks!
Pietro

···

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

Pietro Maggi wrote:

While it is clear to me where the m1 method goes (that is: in the class
object referred by Myclass constant) I'm a bit confused on why also m2
is in Myclass class object!

This question was thoroughly discussed in this thread:

http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/8f4f9b54e86486b5/b9b44e4fc8d19429?lnk=gst&q=nested+methods&rnum=2#b9b44e4fc8d19429

···

--
RMagick OS X Installer [http://rubyforge.org/projects/rmagick/\]
RMagick Hints & Tips [http://rubyforge.org/forum/forum.php?forum_id=1618\]
RMagick Installation FAQ [http://rmagick.rubyforge.org/install-faq.html\]

Thanks! I will have a look at that!
Pietro

Tim Hunter wrote:

···

Pietro Maggi wrote:

While it is clear to me where the m1 method goes (that is: in the class
object referred by Myclass constant) I'm a bit confused on why also m2
is in Myclass class object!

This question was thoroughly discussed in this thread:

http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/8f4f9b54e86486b5/b9b44e4fc8d19429?lnk=gst&q=nested+methods&rnum=2#b9b44e4fc8d19429

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