Timothy Bennett
3/30/2006 9:23:00 PM
a = ("A".."Z" + "a".."z").sort_by { rand }
Tim
On Mar 30, 2006, at 1:11 PM, Meino Christian Cramer wrote:
> From: James Edward Gray II <james@grayproductions.net>
> Subject: Re:
> Date: Fri, 31 Mar 2006 05:39:15 +0900
>
> Hi,
>
> sorry, me again.
>
> If I want not only "a".."z" but also "A".."Z" I thought (from the
> logical point of view...) that
>
>>> a=("A".."z").sort_by { rand }
>
> would work, but it gaves me:
>
>>> a
> => ["P", "D", "Q", "N", "H", "A", "M", "X", "G", "C",
> "E", "L", "I", "S", "B", "J", "F", "Y", "T", "Z", "V", "K",
> "O", "U", "R", "W"]
>
> which isn't exactly, what I have exspected....
>
> Unfortunately
>
> a=("A".."Z").sort_by { rand } + ("a".."z").sort_by { rand }
>
> would first randomize A->Z and then a->z and dont mix both.
>
> Or am I not thinking too straight forward again ;) ?
>
> Keep hacking!
> mcc
>
>
>
>> On Mar 30, 2006, at 2:33 PM, Meino Christian Cramer wrote:
>>
>>> Hi;
>>>
>>> I am looking for an algorithm, which spread all 26 letters of the
>>> alphabet over an array of 26 places randomly. All letters should be
>>> statistically equally handled.
>>
>> Well, this is only as good as the random number generator, but it
>> sure is easy:
>>
>>>> ("a".."z").sort_by { rand }
>> => ["s", "m", "q", "j", "f", "r", "z", "e", "l", "k", "y", "v", "g",
>> "d", "x", "p", "w", "a", "b", "c", "i", "t", "h", "o", "u", "n"]
>>
>> Hope that helps.
>>
>> James Edward Gray II
>>
>