On Thursday 01 June 2006 3:52 pm, Minkoo Seo wrote:

> As you know, every modern language has namespace facility.
> Even XML does have one to avoid name conflicts. Contrarily,
> Ruby does not have explicit namespace facility. Though module
> can provide with namespace facility it is not mandatory and
> is not being used even in standard library.
>
> So, I'd like to ask two questions:
>
> 1) Don't you think Ruby need a package/namespace concepts?

It does, though, as you yourself point out.  The fact that it isn't mandatory 
isn't a problem.

> 2) How would you solve the following problem:
>
> [Start of a.rb]
> # I want to declare class Struct because I love that name so much.
> # The name Struct perfectly describes my domain problem as well.
> class Struct
> end
>
> Foo = Struct.new :bar # I'd like to use Struct in standard library.
> [end of a.rb]

Simple.  If you want to use Struct out of the standard library, then you have 
to put your Struct in a different space.

module MyStuff
  class Struct
    # Struct stuff be found here....
  end
end

my_struct = MyStuff::Struct.new


Kirk Haines