複雑な反復 DO 文

説明

反復 DO 文には、iteration-spec を複数含めることができます。前述の DO リスト文は、この簡単な例です。iteration-spec の指定が複数ある場合、最初に 1 つ目の iteration-spec の条件を満たすまで、次に 2 つ目の iteration-spec を満たすまでというように、それぞれ必要な回数ずつ DO グループの実行が繰り返され、すべての iteration-spec が使用されるまで続けられます。

DO J = 1 TO 9 WHILE(B(J) ^-= 'xx'), J = 16 TO 20 BY 2;
      READ FILE(F) INTO(REC); 
      B(J) = SUBSTR(REC,6,2); 
      END;

このループで読み取られる最初の 8 つのレコードがいずれも B (J) = 'xx' とならない場合、B (1) から B (9) までと B (16)、B (18)、および B (20) のエントリが設定されます。たとえば、3 番目のレコードで B (J) = 'xx' となる場合は、B (1) から B (3) までと B (16)、B (18)、および B (20) のエントリだけが設定されます。