简言简语

控制流规则

成套写法控制流,配套语句是一个整体。

使用总则

  • 控制流按块工作,块开始后通常要用 结束 收尾。
  • 再如果否则 不能单独出现,必须依附在同一个 如果 块里。
  • 跳出继续 只能出现在循环体内部。
  • 第一次写脚本时,先把块结构写完整,再往里面加具体动作。

条件判断

这一套通常由 如果、再如果、否则、结束 组成,必须按同一个判断块连续书写。

成套写法

如果

if

用途:条件成立时才执行后面的步骤。

写法:如果 {数量} > 0

参数英文名必填默认值
条件condition

返回/保存方式:这是块结构写法,本身没有可保存的返回值。

注意事项
  • 条件不能为空。
  • 最后必须用“结束”收尾。
  • 条件里的变量必须事先存在。

正确示例

如果 {文件列表.总数} > 0
  打印 内容="有文件"
结束

错误示例

如果
  打印 内容="少了条件"
结束

为什么错:缺少条件。

生成建议

条件必须完整写出,不要把解释性中文句子直接塞进条件位置。

再如果

elif

用途:同一个判断块里的第二个、第三个条件。

写法:再如果 {分数} >= 80

参数英文名必填默认值
条件condition

返回/保存方式:这是判断块的一部分,不是普通返回动作。

注意事项
  • 只能接在“如果”或前一个“再如果”后面。
  • 最后仍然要靠同一个“结束”收尾。

正确示例

如果 {分数} >= 90
  打印 内容="A"
再如果 {分数} >= 80
  打印 内容="B"
结束

错误示例

再如果 {分数} >= 80
  打印 内容="没有前置如果"
结束

为什么错:前面没有同级“如果”块。

生成建议

只有已经存在同级“如果”块时才生成。

否则

else

用途:当前面的条件都不满足时执行。

写法:否则

这个写法没有参数。

返回/保存方式:这是判断分支标记,不产生返回值。

注意事项
  • 只能放在“如果 / 再如果”后面。
  • 不能单独出现。

正确示例

如果 {ok} == true
  打印 内容="成功"
否则
  打印 内容="失败"
结束

错误示例

否则
  打印 内容="前面没有如果"
结束

为什么错:没有对应的“如果”块。

生成建议

只有需要兜底分支时才生成。

结束

end

用途:关闭当前这一段判断或循环写法。

写法:结束

这个写法没有参数。

返回/保存方式:这是块结束标记,不产生返回值。

注意事项
  • 必须单独一行。
  • 不是“终止动作流”的意思。

正确示例

如果 {ok}
  打印 内容="done"
结束

错误示例

结束 原因="完成"

为什么错:“结束”不能带参数。

生成建议

每个判断块、遍历块、循环块都要补一个对应的“结束”。

整套正确示例

如果 {状态} == "成功"
  打印 内容="通过"
再如果 {状态} == "跳过"
  打印 内容="跳过"
否则
  打印 内容="失败"
结束

整套常见错误

如果 {状态} == "成功"
  打印 内容="通过"
否则
  打印 内容="失败"

为什么错:判断块没有用“结束”收尾。

范围循环

这一套通常由 循环 和 结束 组成,适合按数字范围重复执行。

成套写法

循环

loop

用途:按数字范围重复执行一段步骤。

写法:循环 i=1 到 5 步长=1

参数英文名必填默认值
变量名var当前值
起始值from
结束值to
步长step1

返回/保存方式:这是块结构写法,本身不适合配“保存为”。

注意事项
  • 必须写“到”。
  • 步长默认是 1。
  • 步长不能为 0。

正确示例

循环 i=1 到 3
  打印 内容="第 {i} 轮"
结束

错误示例

循环 i=1 3
  打印 内容="缺少到"
结束

为什么错:缺少关键字“到”。

生成建议

范围循环统一写成“循环 起点 到 终点”,不要混成普通参数列表。

结束

end

用途:关闭当前这一段判断或循环写法。

写法:结束

这个写法没有参数。

返回/保存方式:这是块结束标记,不产生返回值。

注意事项
  • 必须单独一行。
  • 不是“终止动作流”的意思。

正确示例

如果 {ok}
  打印 内容="done"
结束

错误示例

结束 原因="完成"

为什么错:“结束”不能带参数。

生成建议

每个判断块、遍历块、循环块都要补一个对应的“结束”。

整套正确示例

循环 i=1 到 3 步长=1
  打印 内容="第 {i} 轮"
结束

整套常见错误

循环 i=1 3
  打印 内容="缺少到"
结束

为什么错:范围循环缺少关键字“到”。

遍历列表

这一套通常由 遍历、继续、跳出、结束 组成,用来逐项处理列表数据。

成套写法

遍历

for_each

用途:把列表里的每一项依次取出来处理。

写法:遍历 {文件列表.条目} 存入=文件 序号=序号

参数英文名必填默认值
列表items
存入item_var
序号index_var

返回/保存方式:这是块结构写法,本身不适合配“保存为”。

注意事项
  • 列表来源必填。
  • 当前项变量名必填。
  • 数据源最终必须能解析成列表。

正确示例

遍历 {文件列表.条目} 存入=文件 序号=序号
  打印 内容="{序号}:{文件.路径}"
结束

错误示例

遍历 {文件列表.条目}
  打印 内容="少了存入"
结束

为什么错:缺少“存入”变量名。

生成建议

生成遍历时,必须同时提供列表来源和当前项变量名。

继续

continue

用途:跳过当前这一轮剩余步骤,直接进入下一轮。

写法:继续

这个写法没有参数。

返回/保存方式:这是流程控制标记,不产生返回值。

注意事项
  • 只在循环里用。
  • 常和“如果”配合使用。

正确示例

如果 {文件.扩展名} == ".jpg"
  继续
结束

错误示例

继续

为什么错:如果不在循环里,会直接失败。

生成建议

只在循环体中生成,不要放到顶层。

跳出

break

用途:立刻退出最近这一层循环。

写法:跳出

这个写法没有参数。

返回/保存方式:这是流程控制标记,不产生返回值。

注意事项
  • 只在循环里用。
  • 只影响最近一层循环。

正确示例

如果 {重试次数} >= 3
  跳出
结束

错误示例

跳出

为什么错:如果不在循环里,会直接失败。

生成建议

只在 loop / for_each / while 内生成。

结束

end

用途:关闭当前这一段判断或循环写法。

写法:结束

这个写法没有参数。

返回/保存方式:这是块结束标记,不产生返回值。

注意事项
  • 必须单独一行。
  • 不是“终止动作流”的意思。

正确示例

如果 {ok}
  打印 内容="done"
结束

错误示例

结束 原因="完成"

为什么错:“结束”不能带参数。

生成建议

每个判断块、遍历块、循环块都要补一个对应的“结束”。

整套正确示例

遍历 {文件列表.条目} 存入=文件 序号=序号
  如果 {文件.扩展名} == ".tmp"
    继续
  结束
  如果 {序号} > 10
    跳出
  结束
  打印 内容="{序号}:{文件.路径}"
结束

整套常见错误

遍历 {文件列表.条目}
  打印 内容={文件.路径}
结束

为什么错:遍历少了“存入”变量名,后面就没有当前项可用。

无限循环

这一套通常由 无限循环、跳出、继续、结束 组成,适合需要反复重试或持续监测的场景。

成套写法

无限循环

while

用途:条件满足时反复执行,可配最大次数保护。

写法:无限循环 条件={继续运行} 最大次数=100

参数英文名必填默认值
条件conditionTrue
最大次数max_iter系统默认值

返回/保存方式:这是块结构写法,本身不适合配“保存为”。

注意事项
  • 不写条件时会补成 True。
  • 推荐同时准备退出条件或最大次数保护。

正确示例

设置 重试次数 0
无限循环 {重试次数} < 3
  设置 重试次数 {重试次数}+1
结束

错误示例

无限循环
  打印 内容="没有退出条件"
结束

为什么错:语法可能能通过,但没有退出条件时很容易跑满上限。

生成建议

没有明确退出条件时,不要轻易生成无限循环。

继续

continue

用途:跳过当前这一轮剩余步骤,直接进入下一轮。

写法:继续

这个写法没有参数。

返回/保存方式:这是流程控制标记,不产生返回值。

注意事项
  • 只在循环里用。
  • 常和“如果”配合使用。

正确示例

如果 {文件.扩展名} == ".jpg"
  继续
结束

错误示例

继续

为什么错:如果不在循环里,会直接失败。

生成建议

只在循环体中生成,不要放到顶层。

跳出

break

用途:立刻退出最近这一层循环。

写法:跳出

这个写法没有参数。

返回/保存方式:这是流程控制标记,不产生返回值。

注意事项
  • 只在循环里用。
  • 只影响最近一层循环。

正确示例

如果 {重试次数} >= 3
  跳出
结束

错误示例

跳出

为什么错:如果不在循环里,会直接失败。

生成建议

只在 loop / for_each / while 内生成。

结束

end

用途:关闭当前这一段判断或循环写法。

写法:结束

这个写法没有参数。

返回/保存方式:这是块结束标记,不产生返回值。

注意事项
  • 必须单独一行。
  • 不是“终止动作流”的意思。

正确示例

如果 {ok}
  打印 内容="done"
结束

错误示例

结束 原因="完成"

为什么错:“结束”不能带参数。

生成建议

每个判断块、遍历块、循环块都要补一个对应的“结束”。

整套正确示例

设置 重试次数 0
无限循环 {重试次数} < 5
  设置 重试次数 {重试次数}+1
  如果 {重试次数} == 2
    继续
  结束
  如果 {重试次数} >= 4
    跳出
  结束
结束

整套常见错误

无限循环
  打印 内容="没有退出条件"
结束

为什么错:虽然可能能跑,但没有明确退出条件,容易一直执行到上限。