Perlのfor文のサンプルとfor文でlastとnextを使用するサンプルです。
目次
for文
| for(初期化式 ; 条件式 ; 増減式){ 繰り返される箇所 } |
- 初期化式は、最初に1回だけ実行されます。
- 初期化式にあるループで使用する変数をカウンター変数またはループ変数といいます。
- 条件式がtrueの間、処理を繰り返します。
- 増減式でカウンター変数/ループ変数の値が変わります。
コード
for文のサンプルです。
6行目のカウンター変数の$iは0から始まり、増減式($i++)により1ずつ増えていきます。
$i <3がtrueの間、処理を繰り返します。0,1,2が出力されます。
#! /usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 3; $i++) {
print $i; # 0 1 2
}
last文のサンプル
- for文でlastを使用するとループ処理から抜けます。(そのブロックから抜けます)
- 「{」(波括弧) から「}」までをブロックといいます。
コード
for文でlastを使用するサンプルです。
10行目のlastでfor文を抜けます。i=0のみ出力されます。
#! /usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 3; $i++) {
if ($i == 1){
last;
}
print "i=".$i; # 出力結果 i=0
}
for文が入れ子のときのlast文のサンプル
for文が入れ子のときのlastのサンプルです。
6,8行目にfor文があり入れ子になっています。
12行目のlastは、内側のfor文のみ抜けます。
#! /usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 2; $i++) {
for (my $j = 0; $j < 2; $j++) {
if ($j == 0){
last;
}
print "j=".$j; # 出力なし
}
print "i=".$i; # i=0 i=1
}
next文のサンプル
- for文でnextを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
- 「{」(波括弧) から「}」までをブロックといいます。
コード
for文でnextを使用するサンプルです。
10行目のnextでループ処理の先頭に戻ります。i=0とi=2が出力されます。
#! /usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 3; $i++) {
if ($i == 1){
next;
}
print "i=".$i; # 出力結果 出力結果 i=0 i=2
}
for文が入れ子のときのnext文のサンプル
for文が入れ子のときのnextのサンプルです。
6,8行目にfor文があり入れ子になっています。
12行目のnextは、内側のfor文の先頭の8行目に戻ります
#! /usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 2; $i++) {
for (my $j = 0; $j < 2; $j++) {
if ($j == 0){
next;
}
print "j=".$j; # j=1 j=1
}
print "i=".$i; # i=0 i=1
}
関連の記事