
要求操作(如果... 那么... 否则如果)
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 Task 的 Main_task_desktop_Flanker 中的一个真实示例,在第 3 帧 (Response Window ),在 Response Recording & Progression 事件中(由按键触发):
- 如果,在 OR 组内:(
target_direction_desktop等于left并且choice等于D),或者(target_direction_desktop等于right并且choice等于K)。 - 然后:
Set / Record Variable将accuracy设置为1。
无论哪种组合,左侧目标与 D 按键或右侧目标与 K 按键都算作正确,因此这两个 AND 组在共享的 OR 组下一起组合,而不是作为独立的要求操作书写。

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