📅  最后修改于: 2023-12-03 15:19:49.128000             🧑  作者: Mango
Rexx是一种脚本语言,也被称为Rexx语言。它是一种通用的、解释性语言,最初由IBM创建,用于操作IBM System / 370主机系统。Rexx循环命令是Rexx语言中的基本命令之一。在Rexx中,有几种循环语句,包括DO, DO WHILE, DO UNTIL, DO FOREVER, LOOP, REPEAT, 和FOR。
DO循环有以下两种形式:
DO [WHILE | UNTIL] expression
/* 判断expression是为true(WHILE)或false(UNTIL) */
/* statements */
END
DO [WHILE | UNTIL] expression
/* 判断expression是为true(WHILE)或false(UNTIL) */
/* statements */
ITERATE
/* statements */
END
其中,WHILE循环在循环执行前判断expression是否为true,如果是,则执行循环体中的语句;否则,跳过整个循环。
UNTIL循环在循环执行前判断expression是否为false,如果是,则执行循环体中的语句;否则,跳过整个循环。
ITERATE命令用于中止当前循环的迭代,并继续执行下一次迭代。代码片段:
/* Example 1 */
/* 使用DO WHILE循环 */
NUM = 0
DO WHILE NUM < 10
NUM = NUM + 1
SAY NUM
END
/* Example 2 */
/* 使用DO UNTIL循环 */
NUM = 0
DO UNTIL NUM = 10
NUM = NUM + 1
SAY NUM
END
/* Example 3 */
/* 使用DO循环中的ITERATE */
DO I = 1 TO 10
IF I = 5 THEN ITERATE
SAY I
END
DO FOREVER循环是一种无限循环,常常与LEAVE语句一起使用来跳出循环。代码片段:
/* Example 4 */
/* 使用DO FOREVER循环 */
DO FOREVER
/* statements */
IF expression THEN LEAVE
/* more statements */
END
LOOP循环是一种简单的循环,用于指定循环次数。代码片段:
/* Example 5 */
/* 使用LOOP循环 */
LOOP 5
/* statements */
END
REPEAT...UNTIL循环是一种后测试循环,类似于DO UNTIL循环。它会执行循环体中的语句至少一次,然后判断循环条件是否为true,如果是,则继续执行循环体中的语句。代码片段:
/* Example 6 */
/* 使用REPEAT...UNTIL循环 */
COUNT = 0
REPEAT
COUNT = COUNT + 1
SAY COUNT
UNTIL COUNT = 5
FOR循环用于指定循环次数,也可以指定循环每次迭代的步长。FOR循环有以下三种形式:
/* Example 7 */
/* 使用FOR循环 */
/* 形式一 */
DO I = start_value TO end_value
/* statements */
END
/* 形式二 */
DO I = start_value TO end_value BY increment
/* statements */
END
/* 形式三 */
DO I OVER array
/* statements */
END
其中,形式一和形式二都表示在[start_value, end_value]的范围内,以increment为步长循环迭代变量I。
形式三中,数组array中的每个元素都会被迭代。代码片段:
/* Example 7 */
/* 使用FOR循环 */
/* 形式一 */
DO I = 1 TO 5
/* statements */
END
/* 形式二 */
DO I = 1 TO 10 BY 2
/* statements */
END
/* 形式三 */
DO I OVER '1' '2' '3'
/* statements */
END
以上就是Rexx循环的简要介绍。Rexx支持多种循环类型,使用条件因情况而异。可以根据具体情况选择适合自己的循环类型。