FWScript 循环与控制语句

一般情况下,语句是顺序执行的,有的时候,可能需要多次执行同一块代码,循环语句允许我们多次执行一个语句或语句组,支持嵌套使用。

  • 循环语句
  • 控制语句
  • 退出函数
  • 退出程序

循环语句

一般的语言实现将循环语句分成While循环语句与For循环语句,甚至更多种,而FWScript语句只有一种,FWScript中的循环语句依据后面跟随的表达式的第一次的计算结果有不同的意义:

  1. 如果表达式结果为布尔值(称为条件表达式),则按照条件进行循环,相当于while循环语句
  2. 如果表达式计算结果为一个整数,则重复该整数次数,相当于For循环语句
  3. 如果表达式计算出来是个数据源,则按数据源进行循环,相当于数据驱动的循环执行,亦即foreach语句
  4. 如果表达式结果为0,则为一个无限循环架构,相当于while(true)
 
注意:
	在循环体内,变量$0的值为当前的循环次数,从1开始。
	关键字loop while for foreach {* 在FWScript中等同看待,是何种循环,依据后面表达式计算的值的类型来定
	不要忘记循环语句的结束语句,endloop endwhile endfor endforwhile }* 是一样的 
	在循环结束语句后面,可以跟任何文字作为注释,FWScript 忽略这些文字
	
while 表达式
    /* 单独或多个语句组成的代码块 */
endwhile
loop 表达式
    /* 单独或多个语句组成的代码块 */
endloop
while 可用 loop、foreach 代替, endwhile 可用 endloop 代替

实例

$var3=^(1,2,3)
while $var3
    @=$1+" "+$2+" "+$3
    show
endwhile
执行结果:循环执行3次,第一次输出1,第二次输出2,第三次输出3

注意上面的while与loop是等价的,相当于使用符号“{*",必须依据后面的表达式计算出来的结果来分为for循环还是while循环。


控制语句

FWScript也具备常规控制执行方向的语句:


continue 重新开始下一轮循环
break 退出循环 或者 退出switch体
return 退出函数
exit 退出整个程序

循环控制语句

continue	/* 跳过本轮循环,执行下一轮循环 */
break		/* 跳出循环体 */
实例:

$num=5
while $num>=0
    $num=$num-1
    if $num==0
        break
    elseif $num==2
        continue
    else
        @=$num
        show
    endif
endwhile
执行结果:循环执行5次,第一次输出4,第二次输出3,第三次跳过,第四次输出1,第五次跳出循环

退出函数

return		/* 退出当前函数的运行 */

退出测试步骤

stepreturn		/* 退出当前步骤的运行,直接跳到下一个步骤,如果执行完毕,则返回 */

退出程序

exit		/* 退出本次整个程序的的运行 */
exit 可以用exeexit、theend、programexit代替

在所有循环语句中,在每次循环体执行的时候,$0 记载着第几次循环,从1开始计数。

<< FWScript 条件判断FWScript 输入输出 >>