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