みなさん こんにちわ
前回予告の制御構造の話です。世のプログラミング言語に倣い、awkでも以下の制御文が使えます(「テキストデータ料理学」翔泳社 p123より)。
制御文の実行制御に次のようなコマンドが使えるのも同様です。
break, continue, next, exit
、、、と書いても全然ピンと来ないでしょうし、全部が使えなくてもいいのでいくつか例を示します。なおここで示す制御文はすべてアクションの中で使うものです。つまりここにあげたものとは別にパターンマッチングを利用できるわけで、制御文を全然使わなくてもかなりの処理ができてしまいます。
1から100までの和を求める、その1。
BEGIN{while(i<=100){
sum=sum+i;
i++};
print sum}
1から100までの和を求める、その2。
BEGIN{for(i=1;i<=100;i++){
sum=sum+i};
print sum}
それぞれ、こう書けばone-liner(一行野郎)になります。
BEGIN{while(i<=100){sum=sum+i;i++};print sum}
BEGIN{for(i=1;i<=100;i++){sum=sum+i};print sum}
for や whileは繰り返し処理(ループ)のための制御文です。その1もその2も iの値を1づつ増やして変数sumにどんどん加えて行き、iが100を越えたら終了という意味です。
初出 NIFTY-Serve「みんみんネット」1996/09/15 (Sun) 20:17:28