2010年7月30日金曜日

while = 条件付きで繰り返す - AWK

AWKのパターンと制御文
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
条件が真になっている間、その後ろに続く文を繰り返します。

**** 書式
--------
while (条件) 繰り返し実行する文
--------

o 条件 -- 真偽を判定する式です。
   + 条件式の他に、数値や文字列を使う事も出来ます。
   + 1 や "a"など、何かが入っている時は、真になります。
   + 0 や "" の時は、偽になります。
o 繰り返し実行する文 -- 空文や複文も指定出来ます。
   + 空文は、内容か空で、; (セミコロン)だけを書いた文です。
   + 複文は、{ と } で囲んだものです。中には複数の文を書く事が出来ます。


**** 使用例
--------
BEGIN {
  while (i < 3) {
    print ++i;
  }
  print "1から3まで出力しました。";
}
--------

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


**** 機能
o 条件が真になっている間、繰り返します。
o whileの後ろに文がある時は、その文も繰り返します。
o 条件を判定するタイミングは、次の通りです。
   + 最初に whileを通る時
   + whileの次に書いた文の最後に到達して、先頭に戻ってきた時。
   + whileの次に書いた文の途中でcontinueを呼び出して、先頭に戻ってきた時。
o 条件を書かないと、エラーメッセージが表示されます。


**** 確認した処理系
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
    ▼制作メモ
    > do = 後でwhile判定する繰り返し
    for = 繰り返し文その2
    break = 繰り返し文を途中終了する
    +
    continue = 繰り返し文の先頭に戻る
(2010年8月24日変更。「条件式」=>「条件」。「条件式は真偽値のみ取る」との解説を見かけたので、その表現を避けた)