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
- Pour créer un fichier Bicep, consultez Démarrage rapide : Créer des fichiers Bicep avec Visual Studio Code.
- Pour plus d’informations sur la résolution des erreurs de type Bicep, consultez Fonction any pour Bicep.
- Pour comparer la syntaxe de Bicep et de JSON, consultez Comparaison de JSON et de Bicep pour les modèles.
- Pour obtenir des exemples de fonctions Bicep, consultez Fonctions Bicep.