DO
DO [
WHILE Condition ]
.
.
.
[
BREAK |
CONTINUE ]
.
.
.
LOOP [
UNTIL Condition ]
在头部条件为真或者尾部条件变成真之前,重复执行一些语句。如果既没有使用
WHILE也没有使用
UNTIL,循环变成仅能由执行
BREAK语句而跳出的无限循环。如果此时缺少BREAK语句,则成为死循环,这种情况一般都是不希望出现的。
部分
|
说明
|
DO
|
总是循环的第一句。
|
WHILE
|
如果使用,Condition必须为真才执行循环。
|
UNTIL
|
如果使用,Condition变成真结束执行循环。
|
Condition
|
任何布尔表达式。
|
BREAK
|
立即跳出循环,继续执行程序中循环后面的下一行语句。
|
CONTINUE
|
立即停止执行循环中下面的语句,并且跳到循环结尾,从而开始新的一次循环。
|
LOOP
|
总是循环的最后一句。
|
如果开始时头部Condition为假,循环根本不执行。否则,循环至少执行一次,甚至在尾部Condition开始就为真时。
示例
' 一个非常简单循环
a = 1
DO WHILE a <= 5
PRINT "Hello World"; a
INC a
LOOP
Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5
' 用UNTIL实现同样功能
DO
PRINT "Hello World"; a
INC a
LOOP UNTIL a = 6
小心,变量“a”不能用大于5的值进入
UNTIL循环。因为“a”将会累加到大于6,将失去结束循环的唯一机会。可以用“
LOOP a > 5”来减少出现死循环的风险。
示例
' 该循环永远达不到结束值
a = 1
DO WHILE a <= 5
PRINT "Hello World"; a
INC a
IF a = 4 THEN BREAK
LOOP
Hello World 1
Hello World 2
Hello World 3
参见