From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4491 invoked from network); 19 Nov 2007 04:22:04 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 19 Nov 2007 04:22:04 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 22591 invoked from network); 19 Nov 2007 04:21:56 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 19 Nov 2007 04:21:56 -0000 Received: (qmail 7796 invoked by alias); 19 Nov 2007 04:21:44 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12218 Received: (qmail 7779 invoked from network); 19 Nov 2007 04:21:44 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 19 Nov 2007 04:21:44 -0000 Received: (qmail 21272 invoked from network); 19 Nov 2007 04:21:44 -0000 Received: from acolyte.scowler.net (216.254.112.45) by a.mx.sunsite.dk with SMTP; 19 Nov 2007 04:21:38 -0000 Received: by acolyte.scowler.net (Postfix, from userid 1000) id 6D73C5C98B; Sun, 18 Nov 2007 23:21:35 -0500 (EST) Date: Sun, 18 Nov 2007 23:21:36 -0500 From: Clint Adams To: Bart Schaefer Cc: Zsh Users Subject: Re: Sorting file names randomly Message-ID: <20071119042136.GA11967@scowler.net> Mail-Followup-To: Bart Schaefer , Zsh Users References: <20050723194240.GA32416@DervishD> <20050723212657.GA744@DervishD> <1050724064415.ZM20425@candle.brasslantern.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1050724064415.ZM20425@candle.brasslantern.com> User-Agent: Mutt/1.5.16 (2007-06-11) On Sun, Jul 24, 2005 at 06:44:15AM +0000, Bart Schaefer wrote: > A more efficient way might be this: > > function shuffle { > emulate -L zsh > declare -A h > local +h -Z 5 RANDOM=$SECONDS > integer i > # set -- $~* # uncomment to use with noglob alias > for ((i=1; i <= $#; ++i)) { h[$i.$RANDOM]=$argv[i] } > reply=( $h ) > print -l $reply > } Is there any chance that prepending "$i." and hashing it will decrease the randomness of the shuffle significantly?