Or

[[or]] est un bloc conditionnel qui regroupe plusieurs blocs conditionnels existants.

A chaque bougie, il teste les identifiants listés dans condition_ids dans l’ordre indiqué.

Dès qu’au moins un bloc référencé est validé, le bloc [[or]] est lui-même validé et l’exécution se poursuit vers le bloc indiqué par son propre next_block_id. Si aucun bloc référencé n’est validé, le bloc [[or]] n’est pas validé sur cette bougie et est réévalué à la suivante.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[or]].

Exemple

[[or]]
id            = "or_condition"
condition_ids = ["cond1", "cond2"]
next_block_id = "next_step"

Imbrication logique et transition

Les blocs référencés dans la clé condition_ids sont des enfants logiques du bloc [[or]]. Ils sont évalués dans l’ordre indiqué. Dès qu’un enfant est validé, le bloc [[or]] s’arrête, est validé sur cette bougie et poursuit ensuite vers son propre next_block_id lorsqu’il est utilisé seul.

Lorsqu’un bloc conditionnel est utilisé comme enfant de [[or]], il ne doit pas définir next_block_id. Cette règle s’applique à tous les enfants logiques, y compris [[wait]], [[and]] et un autre [[or]] lorsqu’ils sont imbriqués dans [[or]].

Si le bloc [[or]] est lui-même utilisé comme enfant d’un autre bloc logique, [[and]] ou [[or]], son propre next_block_id doit aussi être omis. S’il est utilisé comme enfant direct d’un bloc [[route]], il doit au contraire définir next_block_id, car [[route]] utilise la destination de l’enfant retenu.

Paramètres du bloc

ParamètreDescription
id
 Texte
 Obligatoire
Identifiant unique du bloc.
condition_ids
 Tableau
 Obligatoire
Identifiants des blocs conditionnels à évaluer. Ces identifiants doivent exister dans la stratégie et sont testés dans l’ordre. condition_ids est la clé à utiliser pour déclarer les enfants logiques du bloc.
next_block_id
 Texte
 Conditionnel
Identifiant du bloc suivant à exécuter dès qu’une condition enfant est validée et que le bloc [[or]] est validé. Doit être omis lorsque ce bloc est lui-même utilisé comme enfant d’un bloc [[and]] ou [[or]]. Doit être défini lorsque ce bloc est utilisé comme enfant direct d’un bloc [[route]], car [[route]] suit le next_block_id de l’enfant retenu.

Ce bloc ne produit aucune variable de sortie ; il se contente de combiner plusieurs conditions avec une logique OU.