作者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)