Logische bicep-operators
De logische operators evalueren booleaanse waarden, retourneren niet-null-waarden of evalueren een voorwaardelijke expressie. Als u de voorbeelden wilt uitvoeren, gebruikt u Azure CLI of Azure PowerShell om een Bicep-bestand te implementeren.
Operator | Naam |
---|---|
&& |
And |
|| |
Of |
! |
Not |
?? |
Samensmelten |
? : |
Voorwaardelijke expressie |
En &&
operand1 && operand2
Bepaalt of beide waarden waar zijn.
Operands
Operand | Type | Beschrijving |
---|---|---|
operand1 |
boolean | De eerste waarde om te controleren of waar is. |
operand2 |
boolean | De tweede waarde om te controleren of waar is. |
Meer operanden | boolean | Er kunnen meer operanden worden opgenomen. |
Retourwaarde
True
als beide waarden waar zijn, wordt anders false
geretourneerd.
Opmerking
Evalueert een set parameterwaarden en een set expressies.
param operand1 bool = true
param operand2 bool = true
output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2
Uitvoer uit het voorbeeld:
Name | Type | Weergegeven als |
---|---|---|
andResultParm |
boolean | true |
andResultExp |
boolean | true |
Als u wilt voorkomen dat de eigenschap foo van de taalexpressie niet bestaat, bestaat er geen uitzondering met Bicep-objecten, kunt u de logische operator En gebruiken, zoals wordt weergegeven in het volgende voorbeeld:
param objectToTest object = {
one: 1
two: 2
three: 3
}
output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4
Of ||
operand1 || operand2
Bepaalt of een van beide waarden waar is.
Operands
Operand | Type | Beschrijving |
---|---|---|
operand1 |
boolean | De eerste waarde om te controleren of waar is. |
operand2 |
boolean | De tweede waarde om te controleren of waar is. |
Meer operanden | boolean | Er kunnen meer operanden worden opgenomen. |
Retourwaarde
True
als een van de waarden waar is, wordt anders false
geretourneerd.
Opmerking
Evalueert een set parameterwaarden en een set expressies.
param operand1 bool = true
param operand2 bool = false
output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2
Uitvoer uit het voorbeeld:
Name | Type | Weergegeven als |
---|---|---|
orResultParm |
boolean | true |
orResultExp |
boolean | true |
Als u wilt voorkomen dat de matrixindex x van de taalexpressie buiten de grenzen valt, kunt u de logische operator Of gebruiken, zoals wordt weergegeven in het volgende voorbeeld:
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
Niet!
!boolValue
Onderhandelt een Booleaanse waarde.
Operand
Operand | Type | Beschrijving |
---|---|---|
boolValue |
boolean | Booleaanse waarde die wordt ontkend. |
Retourwaarde
Negeert de oorspronkelijke waarde en retourneert een Booleaanse waarde. Als de oorspronkelijke waarde is true
, wordt deze false
geretourneerd.
Opmerking
De not
operator ontkent een waarde. De waarden kunnen worden verpakt met haakjes.
param initTrue bool = true
param initFalse bool = false
output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse
Uitvoer uit het voorbeeld:
Name | Type | Weergegeven als |
---|---|---|
startedTrue |
boolean | false |
startedFalse |
boolean | true |
Samensmelten??
operand1 ?? operand2
Retourneert de eerste niet-null-waarde van operanden.
Operands
Operand | Type | Description |
---|---|---|
operand1 |
tekenreeks, geheel getal, booleaanse waarde, object, matrix | Te testen waarde voor null . |
operand2 |
tekenreeks, geheel getal, booleaanse waarde, object, matrix | Te testen waarde voor null . |
Meer operanden | tekenreeks, geheel getal, booleaanse waarde, object, matrix | Te testen waarde voor null . |
Retourwaarde
Retourneert de eerste niet-null-waarde. Lege tekenreeksen, lege matrices en lege objecten zijn niet null
en er wordt een <lege> waarde geretourneerd.
Opmerking
De uitvoerinstructies retourneren de niet-null-waarden. Het uitvoertype moet overeenkomen met het type in de vergelijking of er wordt een fout gegenereerd.
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
Uitvoer uit het voorbeeld:
Name | Type | Weergegeven als |
---|---|---|
nonNullStr |
tekenreeks | demoString |
nonNullInt |
int | 10 |
nonNullEmpty |
tekenreeks | <empty> |
Voorwaardelijke expressie? :
condition ? true-value : false-value
Evalueert een voorwaarde en retourneert een waarde of de voorwaarde waar of onwaar is.
Operands
Operand | Type | Beschrijving |
---|---|---|
condition |
boolean | Voorwaarde om te evalueren als waar of onwaar. |
true-value |
tekenreeks, geheel getal, booleaanse waarde, object, matrix | Waarde wanneer voorwaarde waar is. |
false-value |
tekenreeks, geheel getal, booleaanse waarde, object, matrix | Waarde wanneer voorwaarde onwaar is. |
Opmerking
In dit voorbeeld wordt de initiƫle waarde van een parameter geƫvalueerd en wordt een waarde geretourneerd, ongeacht of de voorwaarde waar of onwaar is.
param initValue bool = true
output outValue string = initValue ? 'true value' : 'false value'
Uitvoer uit het voorbeeld:
Name | Type | Weergegeven als |
---|---|---|
outValue |
tekenreeks | werkelijke waarde |
Volgende stappen
- Zie quickstart: Bicep-bestanden maken met Visual Studio Code om een Bicep-bestand te maken.
- Zie Elke functie voor Bicep voor Bicep-type voor informatie over het oplossen van bicep-fouten.
- Zie JSON en Bicep vergelijken voor sjablonen om de syntaxis voor Bicep en JSON te vergelijken.
- Zie Bicep-functies voor voorbeelden van Bicep-functies.