> Lars M. wrote:
> > Hi,
> >  
> > Is there a way to have two constructors which take a 
> different number 
> > of
> > arguments?

Multiple constructors are a plague that needs to be wiped from the Good Land
of Ruby.

Either use default values:

def initialize(a,b=nil,c=nil)
   #handle a,b,c
end

Or use named arguments

def initialize(args={})
   #handle args
end

I hate seeing new1, new2, new3, etc (except for C extensions, where I
realize they're pretty much unavoidable) for a few reasons:

1) It forces me to look up the documentation every time - there's no way
I'll remember the difference between new1, new2, and new3
2) It's less readable than, say, named arguments, especially as your
argument list gets longer
3) I hate passing nil to a method when I really only need to pass 1 or 2
arguments to a 4 argument constructor, e.g. foo("one",nil,nil,"two")
4) At some point down the road, you may want to pass another arugument you
hadn't thought of originally.  What are you going to do then?  Add *yet
another* constructor?

Just my .02

Dan