Yukihiro Matsumoto <matz / ruby-lang.org> writes:
> Hi,
>
> In message "Re: [ruby-core:18074] Re: New array methods cycle, choice, shuffle (plus bug in cycle)"
>     on Sat, 2 Aug 2008 06:43:56 +0900, David Flanagan <david / davidflanagan.com> writes:
>
> |If we agree that there is a use-case for adding #sample to the API, then
> |I would also argue again for #sample! which removes the sampled elements 
> |from the array.  There is no way to write #sample! based on #sample and 
> |I'd imagine that it would be usefule.
> |
> |If the method doesn't take an argument and always returns a single 
> |element, then I'd prefer #rand or #random_element (or just removing the 
> |method) to #choose or #sample.
>
> Here are choices:
>
> * Array#rand (or random, or random_element): pick one random element
>   from an array.  some might confuse the method to behave like
>   #shuffle though.
>
> * Array#sample: this method can take an optional argument for element
>   number.  Like #first, the method returns an array if an argument is
>   given.

I like #sample, especially if the optional argument can be a
float < 1 or integer < Array#length.

Steve

> * Array#choice:  keep the current method.  We already have some
>   noun-named methods, e.g. first.  This method can also be extended to
>   take an optional argument.
>
> Perhaps we should do vote on those candidates.  Should we set up
> voting site for method names?
>
> 							matz.