last演算子を使った繰り返し処理の終了
last 演算子を使用すると繰り返し処理が行われている時に強制的に繰り返し処理を終了させることができます。ここでは Perl のプログラムの中で last 演算子の使い方について解説します。
(Last modified: )
last演算子を使った繰り返し処理の終了
last
演算子を使用すると繰り返し処理が行われている時に強制的に繰り返し処理を終了させることができます。書式は次の通りです。
last;
繰り返し処理の中で last
演算子が実行されるとその時点で繰り返し処理は終了となります。なお終了する繰り返し処理は、 last
演算子が記述されている箇所を含む一番内側の繰り返し処理が対象です。
my $count = 1; while (1){ print "$count\n"; $count++; if ($count > 5){ last; } } print "終了\n";
上記の例では while
文の条件式に 1 と記述しているため、条件式は常に真(true)となりこの while
文は無限ループとなります。ただ、繰り返し処理の中で if
文を使って条件判断を行い、ある条件となったら last
演算子を実行して while
文を終了するようにしてあります。
なお last
演算子によって終了となる繰り返し処理というのは、 while
文、 until
文、 for
文、 foreach
文の他に裸のブロックが対象となります。 if
文などは対象外ですので、上記のサンプルで last
演算子が実行された時に終了するのは if
文ではなく while
文となります。
それでは簡単なサンプルを作成します。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my $count = 1; while (1){ print "$count\n"; $count++; if ($count > 5){ last; } } print "End\n";
テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。
perl sample.pl
次のように実行結果が表示されます。
while
文を使った繰り返し処理の中で、条件を満たしたときに last
演算子を使って繰り返し処理の次の処理へ処理を進めています。
-- --
Perl のプログラムの中で last 演算子の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。