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 |
?? |
Splynout |
? : |
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 true
počá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 |
Splynout??
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
- Pokud chcete vytvořit soubor Bicep, přečtěte si článek Rychlý start: Vytvoření souborů Bicep pomocí editoru Visual Studio Code.
- Informace o řešení chyb typu Bicep naleznete v tématu Libovolná funkce pro Bicep.
- Porovnání syntaxe pro Bicep a JSON najdete v tématu Porovnání json a Bicep pro šablony.
- Příklady funkcí Bicep najdete v tématu Funkce Bicep.