Operatory logiczne Bicep
Operatory logiczne oceniają wartości logiczne, zwracają wartości inne niż null lub oceniają wyrażenie warunkowe. Aby uruchomić przykłady, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby wdrożyć plik Bicep.
Operator | Nazwisko |
---|---|
&& |
And |
|| |
Or |
! |
Not |
?? |
Łączonej |
? : |
Wyrażenie warunkowe |
I &&
operand1 && operand2
Określa, czy obie wartości są prawdziwe.
Operandy
Operand | Type | Opis |
---|---|---|
operand1 |
boolean | Pierwsza wartość do sprawdzenia, czy wartość true. |
operand2 |
boolean | Druga wartość do sprawdzenia, czy wartość true. |
Więcej operandów | boolean | Więcej operandów można uwzględnić. |
Wartość zwracana
True
gdy obie wartości są prawdziwe, w przeciwnym razie false
zwracana jest wartość .
Przykład
Oblicza zestaw wartości parametrów i zestaw wyrażeń.
param operand1 bool = true
param operand2 bool = true
output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2
Dane wyjściowe z przykładu:
Nazwisko | Typ | Wartość |
---|---|---|
andResultParm |
boolean | prawda |
andResultExp |
boolean | prawda |
Aby uniknąć wyjątku Właściwość wyrażenia języka "foo" nie istnieje wyjątek z obiektami Bicep, można użyć operatora logicznego And, jak pokazano w poniższym przykładzie:
param objectToTest object = {
one: 1
two: 2
three: 3
}
output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4
Lub ||
operand1 || operand2
Określa, czy któraś wartość ma wartość true.
Operandy
Operand | Type | Opis |
---|---|---|
operand1 |
boolean | Pierwsza wartość do sprawdzenia, czy wartość true. |
operand2 |
boolean | Druga wartość do sprawdzenia, czy wartość true. |
Więcej operandów | boolean | Więcej operandów można uwzględnić. |
Wartość zwracana
True
gdy każda wartość ma wartość true, w przeciwnym razie false
jest zwracana.
Przykład
Oblicza zestaw wartości parametrów i zestaw wyrażeń.
param operand1 bool = true
param operand2 bool = false
output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2
Dane wyjściowe z przykładu:
Nazwisko | Typ | Wartość |
---|---|---|
orResultParm |
boolean | prawda |
orResultExp |
boolean | prawda |
Aby uniknąć indeksu tablicy właściwości wyrażenia języka "x" jest poza wyjątkiem granic , można użyć operatora logicznego Or, jak pokazano w poniższym przykładzie:
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
Nie!
!boolValue
Neguje wartość logiczną.
Operand
Operand | Type | Opis |
---|---|---|
boolValue |
boolean | Wartość logiczna, która jest negowana. |
Wartość zwracana
Neguje wartość początkową i zwraca wartość logiczną. Jeśli wartość początkowa to true
, false
zwracana jest wartość .
Przykład
Operator not
neguje wartość. Wartości można opakować nawiasami.
param initTrue bool = true
param initFalse bool = false
output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse
Dane wyjściowe z przykładu:
Nazwisko | Typ | Wartość |
---|---|---|
startedTrue |
boolean | fałsz |
startedFalse |
boolean | prawda |
Łączonej??
operand1 ?? operand2
Zwraca pierwszą wartość inną niż null z operandów.
Operandy
Operand | Type | Opis |
---|---|---|
operand1 |
string, integer, boolean, object, array | Wartość do przetestowania dla elementu null . |
operand2 |
string, integer, boolean, object, array | Wartość do przetestowania dla elementu null . |
Więcej operandów | string, integer, boolean, object, array | Wartość do przetestowania dla elementu null . |
Wartość zwracana
Zwraca pierwszą wartość inną niż null. Puste ciągi, puste tablice i puste obiekty nie null
są i zwracana jest pusta> <wartość.
Przykład
Instrukcje wyjściowe zwracają wartości inne niż null. Typ danych wyjściowych musi być zgodny z typem porównania lub generowanym błędem.
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
Dane wyjściowe z przykładu:
Nazwisko | Typ | Wartość |
---|---|---|
nonNullStr |
string | demoString |
nonNullInt |
int | 10 |
nonNullEmpty |
string | <empty> |
Wyrażenie warunkowe ? :
condition ? true-value : false-value
Oblicza warunek i zwraca wartość, czy warunek ma wartość true, czy false.
Operandy
Operand | Type | Opis |
---|---|---|
condition |
boolean | Warunek, który ma być obliczany jako prawda lub fałsz. |
true-value |
string, integer, boolean, object, array | Wartość, gdy warunek ma wartość true. |
false-value |
string, integer, boolean, object, array | Wartość, gdy warunek ma wartość false. |
Przykład
W tym przykładzie jest obliczana wartość początkowa parametru i zwraca wartość, czy warunek ma wartość true, czy false.
param initValue bool = true
output outValue string = initValue ? 'true value' : 'false value'
Dane wyjściowe z przykładu:
Nazwisko | Typ | Wartość |
---|---|---|
outValue |
string | wartość true |
Następne kroki
- Aby utworzyć plik Bicep, zobacz Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio Code.
- Aby uzyskać informacje na temat sposobu rozwiązywania błędów typu Bicep, zobacz Any function for Bicep (Dowolna funkcja dla Bicep).
- Aby porównać składnię Bicep i JSON, zobacz Porównanie kodu JSON i Bicep dla szablonów.
- Przykłady funkcji Bicep można znaleźć w temacie Funkcje Bicep.