From: Daniel Sheppard Date: 2005-12-21T15:15:06+09:00 Subject: Re: Help with object scope module M class C def self.blah end end end module M2 include M class TestM def setup; C.blah; end end end Won't work because the C tries to refer to TestM::C, which doesn't exist. Previously, when you did an "include M" you included the module into Kernel. Since: TestM is an instance of Class Class is an instance of Object You've included M in Object, causing Object::C to be created So, in that case TestM::C exists. > -----Original Message----- > From: list-bounce@example.com > [mailto:list-bounce@example.com] On Behalf Of List Recv > Sent: Wednesday, 21 December 2005 4:14 PM > To: ruby-talk ML > Subject: Help with object scope > > I'm having a really tough time with Ruby's scope (modules, include, > etc.). > > I had a file, in short: > > module M > class C > end > end > > # Unit Tests > include M > class TestM > def setup; C.blah; end > end > > Works great. > > *However*, if I wrap the unit tests in their own module, then > ruby can > no longer find class C. Why? Didn't I include module M? I'm really > confused here. > > If you want the full source, I can post it. ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### ##################################################################################### This e-mail message has been scanned for Viruses and Content and cleared by NetIQ MailMarshal #####################################################################################