Operator logis Bicep

Operator logis mengevaluasi nilai boolean, menampilkan nilai bukan null, atau mengevaluasi ekspresi bersyarat. Untuk menjalankan contoh, gunakan Azure CLI atau Azure PowerShell untuk menyebarkan file Bicep.

Operator Nama
&& Dan
|| Atau
! Tidak
?? Gabungkan
? : Ekspresi bersyarat

Dan &&

operand1 && operand2

Menentukan apakah kedua nilai tersebut benar.

Operand

Operand Jenis Deskripsi
operand1 Boolean Nilai pertama yang perlu diperiksa jika benar.
operand2 Boolean Nilai kedua yang perlu diperiksa jika benar.
Operand lainnya Boolean Lebih banyak operand dapat disertakan.

Nilai hasil

True ketika kedua nilai tersebut benar, jika tidak false dikembalikan.

Contoh

Mengevaluasi set nilai parameter dan set ekspresi.

param operand1 bool = true
param operand2 bool = true

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

Output dari contoh:

Nama Jenis Nilai
andResultParm Boolean benar
andResultExp Boolean benar

Untuk menghindari properti ekspresi bahasa 'foo' tidak ada pengecualian dengan objek Bicep, Anda dapat menggunakan operator logis Dan seperti yang ditunjukkan dalam contoh berikut:

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

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

Atau ||

operand1 || operand2

Menentukan apakah salah satu nilai adalah benar.

Operand

Operand Jenis Deskripsi
operand1 Boolean Nilai pertama yang perlu diperiksa jika benar.
operand2 Boolean Nilai kedua yang perlu diperiksa jika benar.
Operand lainnya Boolean Lebih banyak operand dapat disertakan.

Nilai hasil

True ketika salah satu nilai benar, jika tidak false dikembalikan.

Contoh

Mengevaluasi set nilai parameter dan set ekspresi.

param operand1 bool = true
param operand2 bool = false

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

Output dari contoh:

Nama Jenis Nilai
orResultParm Boolean benar
orResultExp Boolean benar

Untuk menghindari indeks array properti ekspresi bahasa 'x' berada di luar pengecualian batas , Anda dapat menggunakan operator logis Or seperti yang ditunjukkan dalam contoh berikut:

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

Tidak !

!boolValue

Meniadakan nilai boolean.

Operand

Operand Jenis Deskripsi
boolValue Boolean Nilai Boolean yang ditiadakan.

Nilai hasil

Meniadakan nilai awal dan mengembalikan boolean. Jika nilai awal adalah true, maka false dikembalikan.

Contoh

Operator not meniadakan nilai. Nilai dapat diberi tanda kurung.

param initTrue bool = true
param initFalse bool = false

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

Output dari contoh:

Nama Jenis Nilai
startedTrue Boolean salah
startedFalse Boolean benar

Gabungkan ??

operand1 ?? operand2

Mengembalikan nilai bukan null pertama dari operand.

Operand

Operand Jenis Deskripsi
operand1 string, bilangan bulat, boolean, objek, array Nilai yang akan diuji untuk null.
operand2 string, bilangan bulat, boolean, objek, array Nilai yang akan diuji untuk null.
Operand lainnya string, bilangan bulat, boolean, objek, array Nilai yang akan diuji untuk null.

Nilai hasil

Mengembalikan nilai bukan null pertama. String kosong, array kosong, dan objek kosong tidak null dan nilai <kosong> dikembalikan.

Contoh

Pernyataan output mengembalikan nilai bukan null. Jenis output harus cocok dengan jenis dalam perbandingan atau kesalahan yang dihasilkan.

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

Output dari contoh:

Nama Jenis Nilai
nonNullStr string demoString
nonNullInt int 10
nonNullEmpty string <kosong>

Ungkapan bersyarat ? :

condition ? true-value : false-value

Mengevaluasi kondisi dan mengembalikan nilai apakah kondisinya benar atau salah.

Operand

Operand Jenis Deskripsi
condition Boolean Kondisi untuk dievaluasi sebagai benar atau salah.
true-value string, bilangan bulat, boolean, objek, array Nilai ketika kondisi benar.
false-value string, bilangan bulat, boolean, objek, array Nilai ketika kondisi salah.

Contoh

Contoh ini mengevaluasi inisial parameter dan mengembalikan nilai apakah kondisinya benar atau salah.

param initValue bool = true

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

Output dari contoh:

Nama Jenis Nilai
outValue string nilai benar

Langkah berikutnya