2010年7月29日木曜日

continue = 繰り返し文の先頭に戻る - AWK

AWKのパターンと制御文
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
繰り返し文の先頭に戻ります。

**** 書式
--------
continue
--------



**** 使用例
--------
BEGIN {
  for (i = 1; i <= 3; ++i) {
    if (i == 2) {
      continue;
    }
    print i; # i = 2の時は、実行されません。
  }
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


**** 機能
o 繰り返し文(do / for / while)の先頭に戻ります。
o 繰り返し文が多重になっている時は、今実行している繰り返し文の内、最も内側の繰り返し文の先頭に戻ります。

** 処理系に依存するかもしれない動作
o 繰り返し文の外で continueを呼び出すと、エラーメッセージが表示されます。
    + 但し、古いAWKの場合は、nextと同じ動きをする、という噂があります。
    + ( ▽The GNU Awk User's Guideの 6.4.7 The continue Statement に記載あり)


**** メモ
o 特に、while文や do文の中で continueを使う時は、無限ループに陥らないよう、気を付けます。
o 例えば、加算しながら繰り返す場合は、「繰り返し文の先頭から continueまでの間に、加算処理を入れる」ようにすると、無限ループを回避出来ます。


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)


==
関連ページ:
    ▼AWKのパターンと制御文▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > func (= function の古い書き方)
    function = 関数を作る
    return = 関数の呼び出し元に戻る
    +
    break = 繰り返し文を途中終了する
    next = 次行の処理に移る
    nextfile = 次の入力ファイルの処理に移る(mawk不可)
    exit = 終了する