流控制

概述

任务流控制主要基于下列元素:

在Wiki页面上详细列出了处理文件内容的相关范例 [外部链接]。

提示:如果无意中创建了包含循环,而永远无法停止的任务,则可使用任务编辑界面下的全部关闭按钮将其手工关闭。

条件
每个操作都可关联一个条件(在操作编辑界面下设置)。如果条件不匹配,操作将被跳过。

条件可包含一个运算符(例如“等于”)以及两个参数。可用的运算符包括:

对于不符合数学结果的表达式,例如I Am The Walrus > 5,将导致错误信息,如果对其使用数学运算符,将返回false

Until循环

目标:持续执行某任务,直到某一条件被满足(至少满足一次)。

1. 操作1
...
2. 操作2
...
3. Goto操作
1
If %QTIME < 20
如果runtime < 20 则返回操作1

结果:操作1和操作2将被持续执行,直到%QTIME包含大于20的值,例如直到该任务运行超过20秒。

While循环

目标:在某些条件被满足的情况下执行某任务。

1. 停止

If %FRUIT != Apple
如果不脆就停止任务,否则转到下一个操作
2. 操作1
...
3. 操作2
...
4. Goto操作
1
返回并查看是否依然是脆的

结果: 如果%FRUIT包含的值为Apple就执行操作1和操作2。

计数器循环

目标:将某一任务执行指定的次数。

1. Variable Set
%COUNT, 0
计数器初始化
2. 操作1
...
3. 操作2
...
4. Variable Add
%COUNT, 1
将%COUNT增加1
5. Goto操作
2
If %COUNT < 10
如果count < 10 则返回操作2

结果:在将%COUNT初始化为0后,该任务将循环执行操作2-5,直到%COUNT达到10,此时Goto操作的条件将不再满足,任务被结束。

If / Then / Else 条件

目标:如果条件满足就执行某一任务,否则执行另一个不同的任务。

1. 执行任务
X, Stop = On
如果%FRUIT = Apple
如果水果比较脆,就停止,并执行任务X,否则执行下一个操作
2. 执行任务
Y, Stop = On
如果%FRUIT = Banana
如果水果比较软,就停止,并执行任务Y,否则执行下一个操作
3. 执行任务
Z
其他水果:任务Z

子程序

要调用其他任务,请使用执行任务操作。要将其用作子程序,则需要确保发出调用的任务的优先级小于被调用任务的优先级(详细信息:任务计划)。

任务计划

如果打算用循环的方式将某个任务长时间执行,请阅读有关任务计划的详细信息。