作者reizarc (零式札克)
看板Perl
標題Re: [問題] 請教perl高手,有看不懂的code
時間Wed Nov 25 00:18:35 2009
※ 引述《kado0413 (kado)》之銘言:
: 這是google找到的
: 用來打亂array內的值
: 不過
: sub shuffle (@) {
: my @a=\(@_);
: my $n;
: my $i=@_;
: map {
: $n = rand($i--);
: (${$a[$n]}, $a[$n] = $a[$i])[0];
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^不是很懂這一行
: } @_;
: }
: 請perl高手
: 開導一下
: 謝謝喔
: 少打到 以補上
那一行其實只是取得
${ $a[ $n ] }
這個值 順便執行 $a[ $n ] = $a[ $i ]
這個 expr 而以
至於它的演算法
就是每次亂數取到一個值之後 放到取樣空間外
( 利用縮小亂數範圍 )
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.209.85
※ 編輯: reizarc 來自: 114.43.209.85 (11/25 00:19)