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