Read Article

ハッシュに関する関数を知ろう

広告

この章ではハッシュの要素に対して、様々な操作をする関数について説明します。
以下が主な関数です。11 では例をみてみましょう。1 1ではkeysについて説明します。1 ハッシュに含まれるキーだけを取り出すにはkeysを使用します。
keysはハッシュに含まれるすべてのキーをリストにして返します。
返されるキーには順番はなく、ランダムにリストに格納されます。
上の例では2つの方法でキーを出力しています。
1つ目の方法はforeachです。
foreachは配列の要素を取り出すのに使いますが、ここではハッシュに含まれるすべてのキーのリストを取り出すのに使います。
2つ目の方法はキーのリストを@keyに入れて、printで出力しています。
では次の例をみてみましょう。111 ハッシュに含まれる値だけを取り出すにはvaluesを使用します。valuesはハッシュに含まれるすべての値をリストにして返します。
返される値には順番はなくランダムにリストに格納されます。
先ほどの例では2つの方法で値を出力しています。
1つ目はforeachです。
foreachは配列の要素を取り出すのに使いますが、ここではハッシュにあるすべての値を取り出すのに使います。
2つ目は値のリストを@valueに入れて、printで出力しています。
次は配列の章でも説明したsort関数について説明しますが、詳しくは配列の章のsort関数の説明を参考にしてください。1 では例をみてみましょう。1 キーを文字列で比較する場合にはcmpを使用します。
1キーを数値として比較したい場合には1を使用します。
11次はハッシュの値をソートする方法について説明します。
1では例をみてみましょう。
1値を数値で比較するので、1を使用します。1
次はeach関数について説明します。1 each関数はハッシュに含まれるキーと値のペアを取り出して、キーと値のペアを返します。
ハッシュの最初のキーと値を取り出しています。
ハッシュは要素間の順番がないので、初めの1が出力されるわけではないので注意してください。
では例をみてみましょう。
11次はexists関数について説明します。
1ハッシュの中に指定したキーが存在するかを確認します。
存在する場合はTRUEを返し、存在していなければFALSEを返します。
キーだけを調べているので、次の例のように値にデータが入っていなくてもTRUEを返します。
1結果は「定義されています」です。
すべてのハッシュのキーに対して、存在するのかチェックしたい場合にはforeach文と一緒にif文でチェックを行います。
11次はdefined関数について説明します。
1defined関数は値が定義されている場合はTRUEを、定義されていない場合はFALSEを返します。
値がカラであるならばFALSEになります。
では例をみてみましょう。
1この例では1の値がカラです。
その場合にはFALSEを返します。
FALSEなので1が実行されます。

次はdelete関数について説明します。
1delete関数は引数に指定したキーと値を削除します。
戻り値は削除が出来たのならばその削除した値になります。1 1このようにprintで %nameの要素を出力することが出来ますが、ハッシュをダブルクォートで囲まないでください。
次はハッシュを初期化する方法について説明します。
11ハッシュの要素を初期化するには、上の例のように空のリストを代入します。
ハッシュにカラのリストを代入することにより、ハッシュの要素がすべて削除されます。
「%name=();」でハッシュの要素を初期化したので、上の例を出力しようとしても何も出力されません。

URL :
TRACKBACK URL :
Return Top