サイクル for Perl

は、Perlプログラミング言語には,いくつか方法がありますを作成します。 一つの方法は、キーワード for.

次に例を示します。

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    print "$i\n";
}

のプログラムの表示名と番号:

0
1
2

どういうサイクル for

サイクル for は、Perlプログラミング言語でのサイクル for言語 Cプログラミング

for のブラケット3コードスニペット:

  • の初期値
  • チェック
  • 変化

最初に、最初のコードスニペット. チェック trueまたはfalseをコードスニペット. 場合には検証がtrueを返す それが実行ループの体の場合はfalseを返す場合、そのループは終了します。 また、体のループを実行した後、コードのループ体コードが実行され 第三の作品は、そのチェックを作っくによるアルゴリズムです。

このような状況において、身体のループを実行しませんでます。 この 場合は最初のチェックはfalseを返します。

な価値

興味深い特徴のサイクルは、任意のコードスニペットの説明サイクル できません。

たとえばサイクルが未設定の初期値:

▶ Run
#!/usr/bin/perl

my $i = 0;

for (; $i < 3; $i++) {
    print "$i\n";
}

の場合の説明サイクル for 試験はございませんが、それにより、無限ループを実行します。 こちらのサイクル for かを指定し検証、それでもこのサイクルの終了 移行のボディには使用 last.

▶ Run
#!/usr/bin/perl

for (my $i=0;; $i++) {
    last unless $i < 3;
    print "$i\n";
}

の説明サイクルの断片のものが揃っていない場合がござ:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3;) {
    print "$i\n";
    $i++;
}

がループすべて削除するときのフラグメントを生成します無限ループ:

#!/usr/bin/perl

for (;;) {
    print "infinity\n";
}

の視認性の変動

その場合の場合は変数で定義されてdescriptionループの社外のループ、この変数はできません。 場合のコードは use strict;は、このような魅力に失敗します。

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

for (my $i=0; $i < 3; $i++) {
    print "$i\n";
}

print $i;
Global symbol "$i" requires explicit package name (did you forget to declare "my $i"?) at script.pl line 10.
Execution of script.pl aborted due to compilation errors.

の使用を希望する場合は、事前に変数のカウンターの外部の環状体を探す必要がありますので のサイクル:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $i = 0;

for (; $i < 3; $i++) {
    print "$i\n";
}

print $i;

next および last

Perlが特別なキーワードに使用する影響の実行ループを実行します。

キーワード next 停止を実行する現在の繰り返し処理:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    next if $i == 0;
    print "$i\n";
}

last 時のサイクル:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    last if $i == 1;
    print "$i\n";
}

関連する話題

その他の記事