Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Re: Help with object scope
List Recv
12/21/2005 2:23:00 PM
I see.
So,
1) How do I call C from class TestM without explicitly using its
namespace (M:C)? Is there no way? I don't want to modify Kernel or
anything, just have class C available.
2) Could you explain exactly what a Module is? A namespace? A set of
methods without a home? I'm really confused... (I know that
module_define and class_define are synonomous, which is even more
confusing...)
Daniel Sheppard wrote:
> 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.
>
>> I had a file, in short:
>> 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
> #####################################################################################
--
Posted via
http://www.ruby-...
.
3 Answers
Tim Hunter
12/21/2005 2:43:00 PM
0
List Recv wrote:
> 2) Could you explain exactly what a Module is? A namespace? A set of
> methods without a home? I'm really confused... (I know that
> module_define and class_define are synonomous, which is even more
> confusing...)
A little bit of both, actually. Here's a good description of what a
Module is:
http://www.rubycentral.com/book/tut_mo...
Florian Groß
12/21/2005 3:24:00 PM
0
List Recv
12/22/2005 4:47:00 AM
0
> Try this instead:
>
>> class TestM
>> include M
>> def setup; C.blah; end
>> end
I see.
So, that's the equivalent of:
class TestM
class C; ... ; end
def setup; C.blah ; end
end
What exactly does it mean to nest a class?
I know that you cannot define a class within a method (not sure why)?
Also, is require the same thing as "copy and paste dynamically", or does
it drop down to the global namespace, or do something else?
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Re: Help with object scope
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password