Perl5 リファレンス



values

【文法】

values HASH


【説明】

連想配列のすべての値から成るリストを返します。(スカラーコンテキストでは、値の数
を返します。)返されるリストは、ランダムな順番となります。実際のランダムな順番は、
Perl の将来のバージョンで変更されることになっています。しかし、keys 関数や each 
関数が同じ連想配列から生成する順番と同じになる保障はありません。

この方法で連想配列の値を変更できないことに注意してください。なぜなら、返されるリ
ストは、コピーに過ぎないからです。変更するためには、hash slice を使う必要があり
ます。since it's lvaluable in a way that values() is not.

    for (values %hash)      { s/foo/bar/g }   # 失敗!
    for (@hash{keys %hash}) { s/foo/bar/g }   # 成功

側面的な効果として、values() の呼び出しで、連想配列の内部的な反復演算子としてリ
セットすることができます。keys 関数、each 関数、sort 関数もご覧下さい。


【使用例】

my %HASH = ('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
my @VALUES = values %HASH;

この場合、配列 @VALUES には、'aaaa', 'bbbb', 'cccc' の 3 要素が格納されます。順
番はランダムで、保障されませんので、注意してください。



Perl5リファレンスに戻る