
要件アクション (If... Then... Else If) {/examples/}
Requirement Actionは、Labvancedの条件ロジックブロックです:これはif-then文を評価し、その文が真である場合にのみ一連のアクションを実行します。これは、変数の値、参加者の役割、以前の応答、または研究が確認する必要のある他の条件に応じて異なる動作をするためのメカニズムです。
仕組み
要件アクションは、他のアクションと同様に追加されます:Add Actionをクリックし、次にControl Actions → Requirement Actions (If...Then)をクリックします。

制御アクションの下、イベントエディタの「アクションを追加」メニューから要件アクションを追加。
要件アクションは、いくつかの部分から構成されます:
- 要件を追加: 文に比較を追加します。値選択メニューが両側に表示され、変数、定数、または別の値を比較でき、間に比較演算子(等しい、小さい、異なるなど)を置くことができます。
- ANDグループを追加: ANDグループ内のすべての要件が真である必要があります。これは、複数の条件が同時に満たされる必要がある時に使います。
- ORグループを追加: ORグループ内の1つの要件が真であれば、全体のグループが真になります。これは、異なるケースのために同じアクションを実行すべき場合に使います。
- アクションシーケンス:
Thenの下にあるアクションのリストで、If文の要件が満たされた場合にのみ実行されます。Add Actionアイコンを通じて新しいアクションを追加します。 - Else-Ifケースを追加: 要件アクションは、複数のIf/Else-If文を順番に保持できます。要件が真と評価される最初のもののみが実行され、マッチが見つかるとそれ以降のElse-Ifケースはスキップされます。
- Elseケースを追加: フォールバックです。If/Else-If文のいずれも真と評価されない場合、Elseケースで定義されたアクションが代わりに実行されます。
サンプル例:Role_Idによる分岐
マルチユーザー研究における要件アクションの最も一般的な使用法は、参加者による動作の分岐です。最小限の例:
- 要件を追加: 左側は変数
Role_Idを選択し; 比較はequalに設定され; 右側は定数の数字1です。 - Then: その参加者に適用されるアクション、例えばターゲット画像を表示する
Set Object Propertyアクション。 - Elseケースを追加: 他のすべての参加者に適用されるアクション。
Role_Idが何であり、このパターンがすべての非対称マルチユーザーデザインの基礎である理由については、Role_Idを参照してください。
サンプル例:Flankerスタイルタスクにおける正確性のスコア付け
入れ子のAND/ORグループを利用して、1つ以上の有効な組み合わせで応答を正確とスコアできます。Flanker TaskのMain_task_desktop_Flankerからの実際の例、フレーム3(Response Window)内のResponse Recording & Progressionイベント(キー押下によってトリガー):
- If、ORグループ内: (
target_direction_desktopがleftに等しく、choiceがDに等しい)、または(target_direction_desktopがrightに等しく、choiceがKに等しい)。 - Then:
Set / Record Variableがaccuracyを1に設定します。
左のターゲットでDを押すか、右のターゲットでKを押すどちらも正確としてカウントされるため、2つのANDグループは、別々の要件アクションとして書かれるのではなく、共有されたORグループの下に組み合わされます。

Flankerタスクの応答ウィンドウフレームからの要件アクションで、2つの有効なターゲット/応答の組み合わせから正確性をスコアしています。