Bicep mantıksal işleçleri

Mantıksal işleçler boole değerlerini değerlendirir, null olmayan değerler döndürür veya koşullu ifadeyi değerlendirir. Örnekleri çalıştırmak için Azure CLI veya Azure PowerShell kullanarak bir Bicep dosyası dağıtın.

Operatör Veri Akışı Adı
&& And
|| Or
! Not
?? Birleşmek
? : Koşullu ifade

Ve &

operand1 && operand2

Her iki değerin de doğru olup olmadığını belirler.

Işlenen

Işlenen Type Açıklama
operand1 boolean Doğru olup olmadığını denetlemek için ilk değer.
operand2 boolean Doğru olup olmadığını denetlemek için ikinci değer.
Diğer işlenenler boolean Daha fazla işlenen eklenebilir.

Dönüş değeri

True her iki değer de true olduğunda, aksi takdirde false döndürülür.

Örnek

Bir parametre değerleri kümesini ve bir ifade kümesini değerlendirir.

param operand1 bool = true
param operand2 bool = true

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

Örnekten çıktı:

Adı Tür Değer
andResultParm boolean true
andResultExp boolean true

'foo' dil ifadesi özelliğinin Bicep nesnelerinde özel durum olmamasını önlemek için, aşağıdaki örnekte gösterildiği gibi And mantıksal işlecini kullanabilirsiniz:

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

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

Veya ||

operand1 || operand2

İki değerden birinin doğru olup olmadığını belirler.

Işlenen

Işlenen Type Açıklama
operand1 boolean Doğru olup olmadığını denetlemek için ilk değer.
operand2 boolean Doğru olup olmadığını denetlemek için ikinci değer.
Diğer işlenenler boolean Daha fazla işlenen eklenebilir.

Dönüş değeri

True iki değerden biri true olduğunda, aksi takdirde false döndürülür.

Örnek

Bir parametre değerleri kümesini ve bir ifade kümesini değerlendirir.

param operand1 bool = true
param operand2 bool = false

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

Örnekten çıktı:

Adı Tür Değer
orResultParm boolean true
orResultExp boolean true

'x' dil ifadesi özellik dizisi dizininin sınır dışı özel durumu olmasını önlemek için, aşağıdaki örnekte gösterildiği gibi Or mantıksal işlecini kullanabilirsiniz:

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

Değil!

!boolValue

Boole değerini yok sayıyor.

Işlenen

Işlenen Type Açıklama
boolValue boolean Olumsuzlanan Boole değeri.

Dönüş değeri

İlk değeri olumsuzlar ve bir boole döndürür. İlk değer ise truefalse döndürülür.

Örnek

not işleci bir değeri olumsuzlar. Değerler ayraçlarla sarmalanabilir.

param initTrue bool = true
param initFalse bool = false

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

Örnekten çıktı:

Adı Tür Değer
startedTrue boolean yanlış
startedFalse boolean true

Birleşmek??

operand1 ?? operand2

İşlenenlerden ilk null olmayan değeri döndürür.

Işlenen

Işlenen Type Açıklama
operand1 dize, tamsayı, boole, nesne, dizi için nullsınanacak değer.
operand2 dize, tamsayı, boole, nesne, dizi için nullsınanacak değer.
Diğer işlenenler dize, tamsayı, boole, nesne, dizi için nullsınanacak değer.

Dönüş değeri

İlk null olmayan değeri döndürür. Boş dizeler, boş diziler ve boş nesneler değildir null ve boş> bir <değer döndürülür.

Örnek

Çıkış deyimleri null olmayan değerleri döndürür. Çıkış türü, karşılaştırmadaki türle eşleşmelidir veya bir hata oluşturulur.

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

Örnekten çıktı:

Adı Tür Değer
nonNullStr Dize demoString
nonNullInt int 10
nonNullEmpty Dize <empty>

Koşullu ifade? :

condition ? true-value : false-value

Koşulu değerlendirir ve koşulun true veya false olup olmadığını bir değer döndürür.

Işlenen

Işlenen Type Açıklama
condition boolean True veya false olarak değerlendirilecek koşul.
true-value dize, tamsayı, boole, nesne, dizi Koşul true olduğunda değer.
false-value dize, tamsayı, boole, nesne, dizi Koşul false olduğunda değer.

Örnek

Bu örnek bir parametrenin başlangıcını değerlendirir ve koşulun true veya false olup olmadığını bir değer döndürür.

param initValue bool = true

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

Örnekten çıktı:

Adı Tür Değer
outValue Dize true değeri

Sonraki adımlar