Appearance
While
While控件用于控制循环,可以使用Break控件提前结束循环。
业务属性
属性 | 含义 | 说明 | 输入限定 | 示例值 |
---|---|---|---|---|
enable | 是否启用该控件,未启用时不编译 | 是否编译 | 选择值 | 启用 |
text | 与控件关联的文本 | 设计页控件显示 | 常量 | while |
expression | 判断表达式 | Lua判断表达式 | Lua脚本 | var1>var2 |
判断表达式
完全遵循Lua语言的语法,其中不等于
、逻辑与
、逻辑或
和逻辑非
分别用~=
、and
、or
和not
表示,在判断表达式
中变量的表示无需使用#{}
占位符,直接书写变量名即可。
当表达式值为假时结束循环。
lua
while ... do
--code
end
while ... do
--code
end
使用示例
使用LuaScript控件定义一个数组r1
,用于存放输出参数:
lua
local r1={}
local r1={}

将入参body
的属性currentValue
和endValue
分别当作循环变量和循环结束值,判断表达式输入:
body.currentValue<=body.endValue

使用TableInsert控件往r1
数组插入循环变量值:
body.currentValue

使用LuaScript控件对循环变量值自增 1:
lua
body.currentValue=body.currentValue+1
body.currentValue=body.currentValue+1

使用Return控件输出结果r1
:
json
{"r1":"#{r1}"}
{"r1":"#{r1}"}

使用curl请求接口:
$ curl http://localhost:6636/api/while -d "{\"currentValue\":0,\"endValue\":5}"
$ curl http://localhost:6636/api/while -d "{\"currentValue\":0,\"endValue\":5}"
接口返回:
json
{
"resCode": "0",
"resMsg": "success",
"data": {
"r1": [0,1,2,3,4,5]
}
}
{
"resCode": "0",
"resMsg": "success",
"data": {
"r1": [0,1,2,3,4,5]
}
}
当循环变量值自增到6时,条件表达式判断为假,循环结束。