Blech.
If I want to bring X up to the toplevel, I simply do "include MySpace"
at the top of my code, where I assume "MySpace" is a module. I realize
this convention could be abused, i.e. someone could stick instance
methods inside "Net" for example, but so far (years now) it just hasn't
been an issue. Community policing and general common sense work well
enough.
If we *really* felt the need for a namespace, we would have to add a
"namespace" method/keyword/whatever to Ruby, which would (I imagine)
simply be a special form of module. Just rip out all the methods and
disallow defining new methods. Not all that useful or needed, though,
imho.
I now await the implementation of "namespace" Florian Gross has laying
around on his hard drive.
Regards,
Dan
···
-----Original Message-----
From: Sean O'Halpin [mailto:sean.ohalpin@gmail.com]
Sent: Tuesday, November 15, 2005 3:04 PM
To: ruby-talk ML
Subject: Re: toplevel namespace justificationOn 11/15/05, Trans <transfire@gmail.com> wrote:
> When is using the toplevel constant namespace justified?I think the general rule should be as Kirk says, "keep all of
your junk inside your own namespace".> How could one pull X up to toplevel if they wanted w/o bringing Y?
> Perhaps:
>
> X = MySpace::X
>
> but there is a caution here b/c poorly written classes would have
> problems with this.I guess one of the reasons people pollute the toplevel
namespace is because they don't know how to write
well-behaved classes that can be pulled up in this manner
when required. Perhaps documenting how to do that correctly
would be a start.Regards,
Sean