![]() |
![]() |
![]() |
![]() |
管理運営:有限会社ミスティーネット |
|||
| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 | | |||
![]() |
![]()
![]()
![]()
|
HOME >> ハッシュの処理
■ ハッシュ変数の使い方
[ハッシュの作成] ○ ハッシュの値を一括で代入する場合。
%PERSONAL = ( 'name' => '田中太郎', 'age' => '36', 'blood' => 'A' ); ○ ハッシュキーごとに値を代入する場合。
$HASH{'くだもの'} => 'リンゴ'; $HASH{'やさい'} => 'キャベツ'; [ハッシュの結合] ハッシュをリストのように代入することでハッシュを結合できます。
%HASH1 = ( 'fruit' => 'メロン', 'vegetable' => 'キャベツ', 'grain' => '米' ); %HASH2 = ( 'drink' => '日本茶', 'meet' => '牛肉', 'dish' => '肉じゃが' ); %FOOD = (%HASH1, %HASH2); ← ハッシュを結合する
■ 要素の有無をチェック・要素の削除
[要素の有無をチェック] → exists 関数リファレンス ハッシュの要素をチェックする際には、exists 関数を使います。 この関数は、指定したハッシュの要素が見つかったときには真を、見つからなかったときには偽の値を返します。 if 文を使って、要素が見つかったときと見つからなかったときの処理を分けることが出来ます。 exists $HASH{$key} [要素の削除] → delete 関数リファレンス ハッシュの要素を削除する場合は、delete 関数を使います。 この関数は、指定したハッシュの要素をハッシュ内から削除します。 delete $HASH{$key} [特定のキーが見つかった場合に削除する]
$FOOD{'フルーツ'} => 'メロン'; ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト'; $FOOD{'惣菜'} => '肉じゃが'; if ( exists $FOOD{'フルーツ'} ) { delete $FOOD{'フルーツ'}; ← $FOOD{'フルーツ'} があったときのみ削除する } ■ ハッシュのループ処理
ハッシュをループ処理するにはいくつか方法がありますが、ここでは関数を使った3種類の方法をご紹介します。 [each 関数を使ったループ処理] → each 関数リファレンス each 関数ではハッシュのキーと値のペアを取り出すことが出来ます。 下記では、while ループ文を使って、ハッシュのキーと値を順番に取り出して表示させています。
$FOOD{'フルーツ'} => 'メロン'; ← ハッシュを設定する $FOOD{'野菜'} => 'トマト'; $FOOD{'惣菜'} => '肉じゃが'; while ( ($key, $value) = each(%FOOD) ) { ← ハッシュのキーと値を取り出す print "$key => $value\n"; ← 取り出したキーと値を表示する } [keys 関数を使ったループ処理] → keys 関数リファレンス keys 関数では、ハッシュのキーを取り出し、取り出したハッシュキーをリストとして返します。 下記では、リストとして返されるハッシュキーを foreach 文を使ってループさせています。
$FOOD{'フルーツ'} => 'メロン'; ← ハッシュを設定する $FOOD{'野菜'} => 'トマト'; $FOOD{'惣菜'} => '肉じゃが'; foreach $key (keys %FOOD) { ← ハッシュのキーを取り出す print "$key\n"; ← 取り出したキーを表示する } [values 関数を使ったループ処理] → values 関数リファレンス value 関数では、ハッシュの値を取り出し、取り出したハッシュの値をリストとして返します。 下記では、リストとして返される値を foreach 文を使ってループさせています。
$FOOD{'フルーツ'} => 'メロン'; ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト'; $FOOD{'惣菜'} => '肉じゃが'; foreach $value (values %FOOD) { ← ハッシュの値を取り出す print "$value\n"; ← 取り出した値を表示する }
|