Menu

Les opérateurs logiques et parenthésage

Opérateurs logiques and et or

La syntaxe utilisée pour définir les règles permet de créer plusieurs conditions au sein de la même règle. Les conditions resteront définies de la même manière, à la seule différence qu'un mot clé sera placé entre les conditions.

Les mots clés sont and et or. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le "and" correspond à l'inclusion et le "or" à l'exclusion.

Exemple :

ALLOW if #amount < 1000 and #card_country = 'FRA'

L'exemple précédent autorise les paiements dont le montant est inférieur à 10 ET dont la carte est française. Si l'une ou l'autre des conditions définies n'est pas remplie, l'action ne sera pas exécutée.

Exemple :

ALLOW if #amount < 1000 or #card_country = 'FRA'

L'exemple précédent autorise les paiements dont le montant est inférieur à 10 OU dont la carte est française. Si l'une ou l'autre des conditions définies est remplie, l'action sera exécutée.

Les parenthèses

L'utilisation des parenthèses dans la définition d'une règle multi-conditions permet de définir des blocs de conditions et les priorités entre ces blocs. Le principe est le même que celui des priorités pour les opérateurs mathématiques.

Exemple :

ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR')

Dans l'exemple précédent, le moteur de règle va d'abord interpréter le bloc (#card_country = 'FRA' or #currency = 'EUR'). C'est à dire que le paiement sera autorisé si (la carte est française ou que la devise est l'euro), ET que le montant est inférieur à 10.