- Home ›
- Perl関数のリファレンス ›
- ハッシュ ›
- HERE
keys関数
広告
「keys」関数は対象となるハッシュに含まれている全てのキーをリストの形で返します。
keys keys(HASH)
全てのキーをリストの形で返します。 パラメータ: HASH 対象のハッシュ 戻り値: ハッシュに含まれるキーのリスト
1番目の引数には対象となるハッシュが格納されたハッシュ変数を指定します。
具体的には次のように記述します。
my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区" ); my @keylist = keys(%address);
戻り値として取得できるリストを配列変数に格納しています。返されるキーのリストの要素がどのような順序で並んでいるかは分かりません。ハッシュでは各要素に順番は無いためです。
なお「keys」関数の戻り値を配列ではなく単なる変数に格納した場合は、ハッシュのキーのリストでは無くハッシュに含まれる要素の個数が格納されます。
my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区" ); my $keycount = keys(%address);
※ハッシュに含まれる値のリストを取得するには「values関数」を参照して下さい。
サンプルプログラム
では簡単なプログラムで確認して見ます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区", "本田" => "愛知県名古屋市", "遠藤" => "大阪府堺市" ); my @keylist = keys(%address); my $keycount = keys(%address); print "要素数は $keycount です。¥n"; for (my $i = 0; $i < $keycount; $i++){ print "$keylist[$i]¥n"; }
上記を「test1-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
( Written by Tatsuo Ikura )