top

TOP  RSS  Login

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.073097