From: Dave Thomas Date: 2008-08-04T01:50:35+09:00 Subject: [ruby-core:18105] Re: New array methods cycle, choice, shuffle (plus bug in cycle) On Aug 3, 2008, at 11:31 AM, Yukihiro Matsumoto wrote: > Yeah, making something clean and concise is my basic source of > decision. Either ary.shuffle[0] or ary[rand(ary.length)] do not > express my intention directly. I guess I see it from both sides. It's easy to imagine hundreds of useful methods that can be put on arrays. If every single one was added, the cognitive load of learning the standard library would climb to the point that newcomers would be put off learning Ruby. And that's counter productive. So I'm thinking that the methods that _should_ get added to the standard library should be the ones that are tricky to implement, or that have performance problems if not in C. But class Array def sample at(rand(length)) end end Doesn't seem like a lot of work to ask of a programmer. Alternatively, perhaps all these peripheral methods could be put into a mixin? Dave