"Kyle Schmitt" <kyleaschmitt / gmail.com> wrote in message 
news:2b548b8b0702161129o28b8f31bg1c38e01b7a79d089 / mail.gmail.com...
> Ahh.  Any clue as to what the rational on making Array.new work that was 
> was?
> I can think of situations where I'd want to use the same object over
> and over, but more situations where I'd want a new object in each one.

    Yes, because the other way isn't really possible.  Think about it. 
You're asking the array class to take the second parameter and... do what 
with it, exactly?  Call the .dup method on it?  That requires you to 
needlessly assume the object has defined that method, an assumption we'd 
rather not make if we didn't have to...
    The way it is now, it's very natural to use the second parameter to 
reference that object multiple times.  Furthermore, the block naturally 
performs whatever code that block does for each element, like iterators. 
Thus, duplication is natural...
    If you read the manual, you'll see that this really is the better 
interface...