読者です 読者をやめる 読者になる 読者になる

配列シャッフル

まずRubyで。

$ ruby -e 'puts (1..10).sort_by{rand}.join("\n")'
4
10
2
8
9
3
5
6
1
7

sort_by()かっこいいなー。
やっぱRubyちゃんと勉強しよう。時間ができ次第・・・



Perlにはこういうのないから明示的に乱数くっつけてやらないと。
こんな感じかな。

$ perl -le 'print $$_[1] for sort {$$a[0]<=>$$b[0]} map [rand,$_],1..10'

Perl使いじゃない人にイヤがられるコードだ。


PHPにはshuffle()という関数がある。

$ php -r '$a=range(1,10);shuffle($a);echo join("\n", $a)."\n";'

PHPはなんでもかんでも関数でやろうとする。覚えたり調べたりするのがめんどう。