On 6/21/07, Alexander Presber <aljoscha / weisshuhn.de> wrote: > There should be a reason Enumerable was introduced as opposed to > include it's functionality in Array? Alexander I agree with your POV, however maybe it would do this discussion some good to take one step back and look at the greater picture. Enumerable is a Mixin based on each and it implements methods like select, map etc by using the each interface of it's client class. It very often returns arrays than as it simply cannot do something different - without creating a revolutionary new concept like an Iterator but that is OffTopic You were complaining about Hash#select returning an Array. I complain about that too but it has nothing to do with Enumerable, Enumerable is not used, it is implemented in Hash itself. If we want to discuss if we like or dislike Hash#select returning an array we shall fear to mention Enumerable as it has nothing to do with it. As a matter of fact it would be ridiculous - you have explained that nicely yourself - to ask Enumerable to return Hashes. Cheers Robert -- You see things; and you say Why? But I dream things that never were; and I say Why not? -- George Bernard Shaw