近頃版/another blog@hatena/Wiki/BBS
< コードを書かない | 都市と自動車 >
結局仕様書では話にならず他人の書いたperlのコードを読んでいるわけだが。
$larger = ($num1 < $num2) ? $num2 : $num1;
というコードを見て、ふと以下のようなコードを思い付いた。
$larger = (sort ($num1,$num2))[-1];
結果だけ見ればもちろん同じ意味のコードだけどね。
_素直にMAX()とかLARGER()とかいう関数定義しろよ、という話もある。
Wayne : 他にも、Effective Perlにはこんなのが紹介されてましたですよ:$smaller = [$a => $b]->[$b <= $a]; $smaller = ($a, $b)[$b <= $a]; $larger = [$a => $b]->[$a <= $b]; $larger = ($a, $b)[$a <= $b];
Wayne : sort使う奴は、二つじゃなくてリストならなんでも&いくつでもOKなのが魅力カモ?
通りすがりのMad-Pという者です : sortは比較式を指定しないと<=>でなくcmpしちゃいますよ。