The following message is a courtesy copy of an article that has been posted to comp.lang.misc as well. Hi, Dave Thomas <Dave / Thomases.com> writes: |> For example, if you want to create initialized SortedArray |> by specifying elements like |> |> ary = SortedArray(1,5,4,3,7,3) |> |> you just can't. I feel this as restriction. | |That's true. But in what way is that different to any class where the |constructor takes different parameters to it's subclass? The biggest difference is redefining `initialize' works when `new' don't work. Changing number of arguments in subclass is a bad habit in general, but `new' serves little bit differently, because it never (well, seldom) be used polymorphic. In fact Ruby called `initialize' for these classes before, just like you proposed. In these days I received several complains like: `initialize' would not work as I expect, it requires fixed number of arguments, etc. matz.