Opérateurs logiques Bicep

Les opérateurs logiques évaluent des valeurs booléennes, retournent des valeurs non nulles ou évaluent une expression conditionnelle. Pour exécuter les exemples, utilisez Azure CLI ou Azure PowerShell pour déployer un fichier Bicep.

Opérateur Nom
&& And
|| Ou
! Not
?? Coalesce
? : Expression conditionnelle

And &&

operand1 && operand2

Détermine si les deux valeurs sont vraies.

Opérandes

Opérande Type Description
operand1 boolean Première valeur à vérifier si la valeur est true.
operand2 boolean Deuxième valeur à vérifier si la valeur est true.
Plus d’opérandes boolean D’autres opérandes peuvent être inclus.

Valeur retournée

True lorsque les deux valeurs sont vraies, sinon false est retourné.

Exemple

Évalue un ensemble de valeurs de paramètres et un ensemble d’expressions.

param operand1 bool = true
param operand2 bool = true

output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2

Résultat de l’exemple :

Nom Type Valeur
andResultParm boolean true
andResultExp boolean true

Pour éviter l’exception La propriété d’expression de langage 'foo' n’existe pas avec les objets Bicep, vous pouvez utiliser l’opérateur logique And comme indiqué dans l’exemple suivant :

param objectToTest object = {
  one: 1
  two: 2
  three: 3
}

output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4

Or ||

operand1 || operand2

Détermine si une des deux valeurs est vraie.

Opérandes

Opérande Type Description
operand1 boolean Première valeur à vérifier si la valeur est true.
operand2 boolean Deuxième valeur à vérifier si la valeur est true.
Plus d’opérandes boolean D’autres opérandes peuvent être inclus.

Valeur retournée

True lorsque l’une ou l’autre valeur est vraie, sinon false est retourné.

Exemple

Évalue un ensemble de valeurs de paramètres et un ensemble d’expressions.

param operand1 bool = true
param operand2 bool = false

output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2

Résultat de l’exemple :

Nom Type Valeur
orResultParm boolean true
orResultExp boolean true

Pour éviter l’exceptionL’index de tableau de la propriété d’expression de langage 'x' est hors limites vous pouvez utiliser l’opérateur logique Or, comme illustré dans l’exemple suivant :

param emptyArray array = []
param numberArray array = [1, 2, 3]

output foo bool = empty(emptyArray) || emptyArray[0] == 'bar'
output bar bool = length(numberArray) >= 3 || numberArray[3] == 4

Not !

!boolValue

Inverse une valeur booléenne.

Opérande

Opérande Type Description
boolValue boolean Valeur booléenne inversée.

Valeur retournée

Inverse la valeur initiale et retourne une valeur booléenne. Si la valeur initiale est true, false est retourné.

Exemple

L’opérateur not inverse une valeur. Les valeurs peuvent être insérées entre parenthèses.

param initTrue bool = true
param initFalse bool = false

output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse

Résultat de l’exemple :

Nom Type Valeur
startedTrue boolean false
startedFalse boolean true

Coalesce ??

operand1 ?? operand2

Retourne la première valeur non nulle à partir des paramètres.

Opérandes

Opérande Type Description
operand1 chaîne, entier, booléen, objet, tableau Valeur à tester pour null.
operand2 chaîne, entier, booléen, objet, tableau Valeur à tester pour null.
Plus d’opérandes chaîne, entier, booléen, objet, tableau Valeur à tester pour null.

Valeur retournée

Retourne la première valeur non nulle. Les chaînes vides, les tableaux vides et les objets vides ne sont pas null et une valeur <empty> est retournée.

Exemple

Les instructions de sortie retournent les valeurs non nulles. Le type de sortie doit correspondre au type dans la comparaison ou une erreur est générée.

param myObject object = {
  isnull1: null
  isnull2: null
  string: 'demoString'
  emptystr: ''
  integer: 10
  }

output nonNullStr string = myObject.isnull1 ?? myObject.string ?? myObject.isnull2
output nonNullInt int = myObject.isnull1 ?? myObject.integer ?? myObject.isnull2
output nonNullEmpty string = myObject.isnull1 ?? myObject.emptystr ?? myObject.string ?? myObject.isnull2

Résultat de l’exemple :

Nom Type Valeur
nonNullStr string demoString
nonNullInt int 10
nonNullEmpty string <empty>

Expression conditionnelle ? :

condition ? true-value : false-value

Évalue une condition et retourne une valeur si la condition est true ou false.

Opérandes

Opérande Type Description
condition boolean Condition à évaluer comme vraie ou fausse.
true-value chaîne, entier, booléen, objet, tableau Valeur lorsque condition est vraie.
false-value chaîne, entier, booléen, objet, tableau Valeur lorsque condition est fausse.

Exemple

Cet exemple évalue l’initiale d’un paramètre et retourne une valeur si la condition est vraie ou fausse.

param initValue bool = true

output outValue string = initValue ? 'true value' : 'false value'

Résultat de l’exemple :

Nom Type Valeur
outValue string true value

Étapes suivantes