delete関数の使い方(指定された配列要素を削除)
Perl で用意されている組み込み関数の一つである delete 関数の使い方です。 delete 関数は指定された配列要素を削除します。
(2022 年 09 月 27 日公開 / 2022 年 09 月 27 日更新)
delete関数の書式と基本的な使い方
delete 関数は次のように定義されています。
delete delete(EXPR)
引数に指定された配列要素を削除します。 パラメータ: EXPR 配列の要素 戻り値: 削除された値
1番目の引数には対象となる配列の要素を指定します。配列の要素は「$ハッシュ名[インデックス]」で表されます。指定したインデックスが存在した場合、要素は削除されます。
配列の場合には最後の要素が削除された場合には要素が1つ減りますが、最後で無い要素が削除された場合には該当のインデックスの値が未定義値(undef)に設定されます(要素が一つずつずれるわけではない)。
具体的には次のように記述します。
my @city = ("東京", "大阪", "名古屋"); delete($city[1]);
※delete関数はハッシュ要素に対して使用できます。詳しくは「delete関数」を参照して下さい。
では簡単なプログラムで確認してみます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my @city = ("東京", "大阪", "名古屋"); my $val = delete($city[2]); print "削除された値:$val\n\n"; print "残っている要素\n"; foreach my $i(0 .. $#city){ print "$city[$i]\n"; }
上記を「test5-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
-- --
Perl で用意されている組み込み関数の一つである delete 関数の使い方について解説しました。
( Written by Tatsuo Ikura )

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