可以看成是不同 DO-LOOP 的组合, 按顺序从左到右运行每一个DO-LOOP。
具体讲, 相当于三个连续运行的DO-LOOP (中间是不间断的).
第一个loop的结束就是第二个loop的开始, 同样第二个loop的结束是第三个loop的开始.
loop 1: do I = 1 to 3; /* loop through 1-2-3 */
loop 2: do I = 3, 4, 3; /* loop through 3-4-3 */
loop 3: do I = 3 by -1 while(I>0); /* loop through 3-2-1 */
- Data _NULL_ ;
- Do I = 0 to 3; /* loop 1: 1, 2, 3 */
- Put I= ;
- End ; put;
- Do I1 = 3, 4, 3; /* loop 2: 3, 4, 3 */
- Put I1= ;
- End; put;
- Do I2 = 3 by -1 while (I2 > 0); /* loop3: 3, 2, 1 */
- Put I2= ;
- End ; put;
- Run ;
- /* here are two other examples */
- data _null_;
- do J=0 to 5 by 2, 7, 10 by -2 until (J<-5); /* loop through: 0,2,4, 7,10,8,6,4,2,0,-2,-4,-6 */
- put J=;
- end; put ;
- do K=1 by 3 until(K>9), 6, 8 by -2 while(K>-5); /* loop through: 1,4,7,10,6,8,6,4,2,0,-2,-4 */
- put K=;
- end;
- run;
复制代码