[Tokyo.pm] JUS感想
harada goichi
goichi @ mb.kcom.ne.jp
1999年 9月 28日 (火) 09:55:14 CDT
こんばんは、吾一です。
Kazumasa Utashiro wrote:
> ======================================================================
> sub normal {
> my $listp = shift;
> my @length = map {length} @{$listp};
> @$listp[sort {$length[$a] <=> $length[$b]} 0 .. $#length];
> }
見てしばらく、何をやっているのか良くわからなかったのですが、
「スライスの中にそのままソートルーチンを入れている」
と言う事に気がついて愕然としました。
それと同時に
「凄い!!PERLってやっぱり色々書けて面白い!!」
と言う気持ちと
「凄い!!PERLってやっぱり意味不明で無茶苦茶だ!!」
と言う気持ちが同時に沸き上がりしばし混乱しましたが、
最終的に
「ま、便利だし面白いから、いっかー。」
と言う結論に落ち着きました。
> では、プログラミングの効率が高くなるかというと、そうでもないと思います。
> パズルとしては面白いんですが。
>
> --utashiro
条件Aでソートして、次に条件Bでソートして、次に条件Cで・・・・・
と言う形の場合は効率は良さそうです。
しかし、時と場合によっては、一番良いとは言えないと言う事ですね。
maeda @ src.ricoh.co.jp wrote:
>map {$_->[0]}
>sort {my $x=($a->[$i]<=>$b->[$i]) and return $x for$i(1..$#$a); -1}
>map {[$_, split(/:/)]}
>@data;
講習会でおっしゃっていた
EXPR for @list
の形ですね。しばらく考えて意味がわかったような気がしますが、
for$i(1..$#$a); -1} の
「-1」が良くわからないのでもうちょっと見てみます。
と言う事で、皆さん、御教授ありがとうございました。
PS
Pyuta.pmを使って、ソートルーチンを書こうと思ったら「並ベる」
がまだ実装されていなかったです・・・・・。
--
---------------------------------------
Goichi Harada
E-mail goichi @ mb.kcom.ne.jp
Tokyo-pm メーリングリストの案内