Perl - List::Util
概要
リスト(配列)に関する様々な処理を行うためのモジュール。Perl 5.8 以降で標準モジュール。
提供されるサブルーチンを用いるためには、use List::Util qw(***)
と明示的にインポートしなければならない。
提供されるサブルーチン
first { ... } @list
- @list のうち、ブロックで評価される値が真である最初の値を返す。いずれも偽であれば、undef が返される。
max @list
- @list のうち、数値として最大であるものが返される。空リストが渡された場合、undef を返す。
maxstr @list
- @list のうち、文字列として最大であるものが返される。空リストが渡された場合、undef を返す。
min @list
- @list のうち、数値として最小であるものが返される。空リストが渡された場合、undef を返す。
minstr @list
- @list のうち、文字列として最小であるものが返される。空リストが渡された場合、undef を返す。
reduce { ... } @list
- @list の最初から最後まで順に畳み込んでブロックで評価し、最後に評価された値が返される。
shuffle @list
- @list の順序をランダムに変更したリストを返す。
sum @list
- @list の全ての値を数値として合計した値を返す。
reduce だけ少し特殊。
reduce { $a * $b } 1..10;
は
do { my $n = 1; $n *= $_ for 1..10; $n; };
とほぼ同じ処理で、reduce だと $n や繰り返しの for なんて使わずに済んでスマートに書ける。Python の reduce や、Ruby の Enumerable#inject と同じらしい。
リンク
Last modified:2008/12/07 02:11:36
0.078844