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 true
false
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 null sınanacak değer. |
operand2 |
dize, tamsayı, boole, nesne, dizi | için null sınanacak değer. |
Diğer işlenenler | dize, tamsayı, boole, nesne, dizi | için null sı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
- Bicep dosyası oluşturmak için bkz . Hızlı Başlangıç: Visual Studio Code ile Bicep dosyaları oluşturma.
- Bicep türü hatalarını çözme hakkında bilgi için bkz . Bicep için herhangi bir işlev.
- Bicep ve JSON söz dizimlerini karşılaştırmak için bkz . Şablonlar için JSON ve Bicep karşılaştırması.
- Bicep işlevleri örnekleri için bkz . Bicep işlevleri.