
要求操作(如果... 那么... 否则如果) {/examples/}
Requirement Action是Labvanced的条件逻辑块:它评估一个if-then语句,并仅在该语句为真时执行一系列操作。它是任何基于变量值、参与者角色、他们的先前响应或您的研究需要检查的任何其他条件而应有所不同的行为背后的机制。
它是如何工作的
要求操作的添加方式类似于其他操作:点击Add Action,然后Control Actions→Requirement Actions (If...Then)。

从事件编辑器的添加操作菜单中添加要求操作,在控制操作下。
要求操作由几个部分构成:
- 添加要求:向语句添加比较。两侧出现一个值选择菜单,您可以用比较运算符(相等、小于、不相等等等)比较一个变量、一个常量或另一个值。
- 添加AND组:AND组中的所有要求必须为真,整个组才为真。当多个条件必须同时满足时使用此项。
- 添加OR组:OR组中的任一要求为真,整个组就为真。当相同的操作应该适用于多个不同情况时使用此项。
- 操作序列:在
Then下的操作列表,仅在If语句的要求得到满足时执行。通过Add Action图标添加新操作。 - 添加Else-If情况:要求操作可以按顺序包含多个If/Else-If语句。只有一个语句会被执行,那个第一个要求评估为真;一旦找到匹配,其余包括任何后续的Else-If情况都会被跳过。
- 添加Else情况:一个回退。如果没有任何If/Else-If语句评估为真,则执行在Else情况中定义的操作。
一个操作示例:按Role_Id分支
在多用户研究中,要求操作的最常见用途是按参与者分支行为。一个最简示例:
- 添加要求:左侧选择变量
Role_Id;比较设为equal;右侧是一个常数1。 - 那么:适用于该参与者的操作,例如显示目标图像的
Set Object Property操作。 - 添加Else情况:适用于所有其他参与者的操作。
请参阅Role_Id以获取Role_Id的完整解释,以及为什么该模式是每种不对称多用户设计的基础。
一个操作示例:在Flanker风格任务中评分正确性
嵌套的AND/OR组使得可以在多个有效组合的基础上对响应进行评分。来自Flanker任务的真实示例,在第3帧(Response Window)中,位于Response Recording & Progression事件(由按键触发):
- 如果,在一个OR组中:(
target_direction_desktop等于leftANDchoice等于D),或 (target_direction_desktop等于rightANDchoice等于K)。 - 那么:
Set / Record Variable将accuracy设置为1。
任一组合,左目标与D按压或右目标与K按压,均算作正确,因此两个AND组在共享的OR组下组合,而不是作为单独的要求操作书写。

来自Flanker任务响应窗口帧的要求操作,从两个有效的目标/反应组合中评分准确性。