Bicep logikai operátorok
A logikai operátorok kiértékelik a logikai értékeket, nem null értékeket ad vissza, vagy kiértékelnek egy feltételes kifejezést. A példák futtatásához használja az Azure CLI-t vagy az Azure PowerShellt egy Bicep-fájl üzembe helyezéséhez.
Operator | Név |
---|---|
&& |
És |
|| |
Vagy |
! |
Nem |
?? |
Coalesce |
? : |
Feltételes kifejezés |
És >
operand1 && operand2
Meghatározza, hogy mindkét érték igaz-e.
Operandusok
Operandus | Type | Description |
---|---|---|
operand1 |
Logikai | Az első érték, amely ellenőrzi, hogy igaz-e. |
operand2 |
Logikai | A második érték, amely ellenőrzi, hogy igaz-e. |
További operandusok | Logikai | További operandusok is belefoglalhatók. |
Visszaadott érték
True
ha mindkét érték igaz, ellenkező esetben false
a rendszer visszaadja.
Példa
Kiértékeli a paraméterértékek és a kifejezések készletét.
param operand1 bool = true
param operand2 bool = true
output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2
Kimenet a példából:
Name | Típus | Érték |
---|---|---|
andResultParm |
Logikai | true |
andResultExp |
Logikai | true |
Annak elkerülése érdekében, hogy a "foo" nyelvi kifejezés tulajdonság nem létezik kivételt a Bicep-objektumokkal, használhatja a And logikai operátort az alábbi példában látható módon:
param objectToTest object = {
one: 1
two: 2
three: 3
}
output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4
Vagy ||
operand1 || operand2
Meghatározza, hogy bármelyik érték igaz-e.
Operandusok
Operandus | Type | Description |
---|---|---|
operand1 |
Logikai | Az első érték, amely ellenőrzi, hogy igaz-e. |
operand2 |
Logikai | A második érték, amely ellenőrzi, hogy igaz-e. |
További operandusok | Logikai | További operandusok is belefoglalhatók. |
Visszaadott érték
True
ha bármelyik érték igaz, ellenkező esetben false
a függvény visszaadja.
Példa
Kiértékeli a paraméterértékek és a kifejezések készletét.
param operand1 bool = true
param operand2 bool = false
output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2
Kimenet a példából:
Name | Típus | Érték |
---|---|---|
orResultParm |
Logikai | true |
orResultExp |
Logikai | true |
Ha szeretné elkerülni , hogy az "x" nyelvi kifejezés tulajdonságtömbindexe túllépje a határokat , használhatja az Or logikai operátort az alábbi példában látható módon:
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
Nem!
!boolValue
Logikai értéket tagad meg.
Operandus
Operandus | Type | Description |
---|---|---|
boolValue |
Logikai | Logikai érték, amely nem engedélyezett. |
Visszaadott érték
Tagadja a kezdeti értéket, és logikai értéket ad vissza. Ha a kezdeti érték az true
, akkor false
a függvény visszaadja.
Példa
Az not
operátor nem ad ki értéket. Az értékek zárójelekkel burkolhatók.
param initTrue bool = true
param initFalse bool = false
output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse
Kimenet a példából:
Name | Típus | Érték |
---|---|---|
startedTrue |
Logikai | false |
startedFalse |
Logikai | true |
Coalesce??
operand1 ?? operand2
Az operandusok első nem null értékű értékét adja vissza.
Operandusok
Operandus | Type | Description |
---|---|---|
operand1 |
sztring, egész szám, logikai érték, objektum, tömb | Tesztelendő null érték. |
operand2 |
sztring, egész szám, logikai érték, objektum, tömb | Tesztelendő null érték. |
További operandusok | sztring, egész szám, logikai érték, objektum, tömb | Tesztelendő null érték. |
Visszaadott érték
Az első nem null értéket adja eredményül. Az üres sztringek, üres tömbök és üres objektumok nem null
, és <a függvény üres> értéket ad vissza.
Példa
A kimeneti utasítások a nem null értékeket adják vissza. A kimeneti típusnak meg kell egyeznie az összehasonlításban szereplő típussal, vagy hiba keletkezik.
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
Kimenet a példából:
Name | Típus | Érték |
---|---|---|
nonNullStr |
sztring | demoString |
nonNullInt |
egész | 10 |
nonNullEmpty |
sztring | <Üres> |
Feltételes kifejezés? :
condition ? true-value : false-value
Kiértékel egy feltételt, és visszaad egy értéket, függetlenül attól, hogy a feltétel igaz vagy hamis.
Operandusok
Operandus | Type | Description |
---|---|---|
condition |
Logikai | A kiértékelendő feltétel igaz vagy hamis. |
true-value |
sztring, egész szám, logikai érték, objektum, tömb | Érték, ha a feltétel igaz. |
false-value |
sztring, egész szám, logikai érték, objektum, tömb | Érték, ha a feltétel hamis. |
Példa
Ez a példa kiértékeli egy paraméter kezdeti értékét, és visszaad egy értéket, függetlenül attól, hogy a feltétel igaz vagy hamis.
param initValue bool = true
output outValue string = initValue ? 'true value' : 'false value'
Kimenet a példából:
Name | Típus | Érték |
---|---|---|
outValue |
sztring | igaz érték |
További lépések
- Bicep-fájl létrehozásához tekintse meg a Rövid útmutatót: Bicep-fájlok létrehozása a Visual Studio Code-tal.
- A Bicep-típushibák megoldásáról további információt a Bicep Bármely függvénye című témakörben talál.
- A Bicep és a JSON szintaxisának összehasonlításához tekintse meg a JSON és a Bicep összehasonlítása a sablonokhoz című témakört.
- A Bicep-függvények példáiért lásd a Bicep-függvényeket.