ルーチン・フローの制御
ルーチン・フローを制御するには、条件付きでコードを実行するか、もしくは特定のコード・セクションを経由する方法があります。特定のコード・セクションを繰り返し実行させる方法も必要です。また、実行時エラーをトラップし、エラー処理コードを実行する方法も必要です。前述した If 文は、条件を評価する基本的な方法です。ここでは、If 文に代わる、コードを繰り返し実行するいくつかの方法と、実行時エラーを処理するいくつかの方法を学習します。
演習では、If 文の条件が True の場合にのみ特定の処理を行う、つまり、Quit コマンドでルーチンを終了するというコードを学習しました。しかし If 文を使用して、複数のコマンドを含むコード・ブロックを実行するか、あるいは経由する方が適切です。また、1 つのコマンドに条件を付ける場合は、後置条件コマンドを使用することもできます。これまで学習してきたすべてのコマンド (If 文は除く) は、コロンや条件が後ろに続き、単純であったり、あるいは必要に応じて複雑であったりします。コマンドは、条件が True の場合にのみ実行します。
後置条件内にスペースを挿入するには、条件を括弧で囲みます。
postcond ; postconditionals versus If construct
if name="" { quit } ; you should replace this
quit:(name = "") ; with this postconditional
if name="" { write "...Exiting" quit } ; 2 commands after the if,
; so do this
write:name="" "...Exiting" quit:name="" ; instead of this