delete関数の使い方(指定されたハッシュ要素を削除)
Perl で用意されている組み込み関数の一つである delete 関数の使い方です。 delete 関数は指定されたハッシュ要素を削除しキーと値を削除します。
(2022 年 09 月 27 日公開 / 2022 年 09 月 27 日更新)
delete関数の書式と基本的な使い方
delete 関数は次のように定義されています。
delete delete(EXPR)
引数に指定されたハッシュ要素を削除します。キーと値のペアが削除されます。 パラメータ: EXPR ハッシュの要素 戻り値: キーに対応する値
1番目の引数には対象となるハッシュの要素を指定します。ハッシュの要素は「$ハッシュ名{キー}」で表されます。指定したキーが存在した場合、要素は削除され1つ減ります。
具体的には次のように記述します。
my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区" ); delete($address{'鈴木'});
指定したキーに該当するハッシュ要素が無かった場合は何も行わずエラーともなりません。
※delete関数は配列要素に対して使用できます。詳しくは「delete関数」を参照して下さい。
では簡単なプログラムで確認してみます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my %address = ( "鈴木" => "東京都千代田区", "山田" => "東京都葛飾区", "本田" => "愛知県名古屋市", "遠藤" => "大阪府堺市" ); my $val = delete($address{'本田'}); print "削除された値:$val\n\n"; print "残っている要素\n"; while (my ($key, $value) = each(%address)){ print "key=$key, value=$value\n"; }
上記を「test4-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
-- --
Perl で用意されている組み込み関数の一つである delete 関数の使い方について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。