From: Meino Christian Cramer Date: 2006-03-31T06:11:57+09:00 Subject: Re: From: James Edward Gray II 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 >