Logické operátory Bicep

Logické operátory vyhodnocují logické hodnoty, vracejí hodnoty, které nejsou null, nebo vyhodnocují podmíněný výraz. Ke spuštění příkladů použijte Azure CLI nebo Azure PowerShell k nasazení souboru Bicep.

Operátor Název
&& And
|| Nebo
! Not
?? Coalesce
? : Podmíněný výraz

A &

operand1 && operand2

Určuje, zda jsou obě hodnoty pravdivé.

Operandy

Operand Typ Popis
operand1 boolean První hodnota, která se má zkontrolovat, jestli je true.
operand2 boolean Druhá hodnota, která zkontroluje, jestli je true.
Další operandy boolean Je možné zahrnout více operandů.

Vrácená hodnota

True pokud jsou obě hodnoty pravdivé, v opačném případě false se vrátí.

Příklad

Vyhodnotí sadu hodnot parametrů a sadu výrazů.

param operand1 bool = true
param operand2 bool = true

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

Výstup z příkladu:

Name Typ Hodnota
andResultParm boolean true
andResultExp boolean true

Pokud se chcete vyhnout vlastnosti výrazu jazyka "foo", neexistuje výjimka u objektů Bicep, můžete použít logický operátor And, jak je znázorněno v následujícím příkladu:

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

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

Nebo ||

operand1 || operand2

Určuje, zda je hodnota true.

Operandy

Operand Typ Popis
operand1 boolean První hodnota, která se má zkontrolovat, jestli je true.
operand2 boolean Druhá hodnota, která zkontroluje, jestli je true.
Další operandy boolean Je možné zahrnout více operandů.

Vrácená hodnota

True pokud je hodnota true, v opačném případě false je vrácena.

Příklad

Vyhodnotí sadu hodnot parametrů a sadu výrazů.

param operand1 bool = true
param operand2 bool = false

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

Výstup z příkladu:

Name Typ Hodnota
orResultParm boolean true
orResultExp boolean true

Chcete-li se vyhnout indexu pole vlastností výrazu jazyka x je mimo hranici výjimky, můžete použít logický operátor Or, jak je znázorněno v následujícím příkladu:

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

Ne!

!boolValue

Negates a boolean value.

Operand

Operand Typ Popis
boolValue boolean Logická hodnota, která je negovaná.

Vrácená hodnota

Neguje počáteční hodnotu a vrátí logickou hodnotu. Pokud je truepočáteční hodnota , vrátí false se.

Příklad

Operátor not neguje hodnotu. Hodnoty lze zabalit závorkou.

param initTrue bool = true
param initFalse bool = false

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

Výstup z příkladu:

Name Typ Hodnota
startedTrue boolean false (nepravda)
startedFalse boolean true

Coalesce??

operand1 ?? operand2

Vrátí první hodnotu, která není null z operandů.

Operandy

Operand Typ Popis
operand1 string, integer, boolean, object, array Hodnota, která se má testovat pro null.
operand2 string, integer, boolean, object, array Hodnota, která se má testovat pro null.
Další operandy string, integer, boolean, object, array Hodnota, která se má testovat pro null.

Vrácená hodnota

Vrátí první hodnotu, která není null. Prázdné řetězce, prázdné pole a prázdné objekty nejsou null a vrátí se <prázdná> hodnota.

Příklad

Výstupní příkazy vrátí hodnoty, které nejsou null. Typ výstupu se musí shodovat s typem v porovnání nebo se vygeneruje chyba.

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

Výstup z příkladu:

Name Typ Hodnota
nonNullStr string demoString
nonNullInt int 10
nonNullEmpty string <empty>

Podmíněný výraz ? :

condition ? true-value : false-value

Vyhodnotí podmínku a vrátí hodnotu, zda je podmínka pravdivá nebo nepravda.

Operandy

Operand Typ Popis
condition boolean Podmínka, která se má vyhodnotit jako pravda nebo nepravda
true-value string, integer, boolean, object, array Hodnota, pokud je podmínka pravdivá.
false-value string, integer, boolean, object, array Hodnota, pokud je podmínka false.

Příklad

Tento příklad vyhodnotí počáteční hodnotu parametru a vrátí hodnotu, zda je podmínka pravdivá nebo nepravda.

param initValue bool = true

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

Výstup z příkladu:

Name Typ Hodnota
outValue string true value

Další kroky