Логические операторы Bicep
Логические операторы оценивают логические значения, возвращают значения, отличные от NULL, или вычисляют условное выражение. В этих примерах используйте для развертывания файла Bicep Azure CLI или Azure PowerShell.
Оператор | Имя. |
---|---|
&& |
And |
|| |
Or |
! |
Not |
?? |
Coalesce |
? : |
Условное выражение |
И &&
operand1 && operand2
Определяет, являются ли оба значения истинными.
Операнды
Операнд | Тип | Описание |
---|---|---|
operand1 |
boolean | Первое значение для проверки на истинность. |
operand2 |
boolean | Второе значение для проверки на истинность. |
Дополнительные операнды | boolean | Можно добавить больше операндов. |
Возвращаемое значение
True
, если оба операнда имеют значение true, в противном случае возвращается false
.
Пример
Оценивается набор значений параметров и набор выражений.
param operand1 bool = true
param operand2 bool = true
output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2
Выходные данные примера
Имя. | Тип | значение |
---|---|---|
andResultParm |
boolean | true |
andResultExp |
boolean | true |
Чтобы избежать исключения свойства выражения языка "foo" не существует с объектами Bicep, можно использовать логический оператор And, как показано в следующем примере:
param objectToTest object = {
one: 1
two: 2
three: 3
}
output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4
Или ||
operand1 || operand2
Определяет, является ли какое-либо из значений истинным.
Операнды
Операнд | Тип | Описание |
---|---|---|
operand1 |
boolean | Первое значение для проверки на истинность. |
operand2 |
boolean | Второе значение для проверки на истинность. |
Дополнительные операнды | boolean | Можно добавить больше операндов. |
Возвращаемое значение
True
, если какой-либо из операндов имеет значение true, в противном случае возвращается false
.
Пример
Оценивается набор значений параметров и набор выражений.
param operand1 bool = true
param operand2 bool = false
output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2
Выходные данные примера
Имя. | Тип | значение |
---|---|---|
orResultParm |
boolean | true |
orResultExp |
boolean | true |
Чтобы избежать исключения индекса массива свойств выражения языка x , можно использовать логический оператор Or, как показано в следующем примере:
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
Не !
!boolValue
Инвертирует логическое значение.
Операнд
Операнд | Тип | Описание |
---|---|---|
boolValue |
boolean | Противоположное логическое значение. |
Возвращаемое значение
Инвертирует начальное значение и возвращает логическое значение. Если исходное значение равно true
, то возвращается false
.
Пример
Оператор not
инвертирует значение. Операнды можно заключать в круглые скобки.
param initTrue bool = true
param initFalse bool = false
output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse
Выходные данные примера
Имя. | Тип | значение |
---|---|---|
startedTrue |
boolean | false |
startedFalse |
boolean | true |
Объединение ??
operand1 ?? operand2
Возвращает первый операнд, отличный от null.
Операнды
Операнд | Тип | Описание |
---|---|---|
operand1 |
строка, целое число, логическое значение, объект, массив | Значение, проверяемое на null . |
operand2 |
строка, целое число, логическое значение, объект, массив | Значение, проверяемое на null . |
Дополнительные операнды | строка, целое число, логическое значение, объект, массив | Значение, проверяемое на null . |
Возвращаемое значение
Возвращает первое значение, отличное от NULL. Пустые строки, пустые массивы и пустые объекты не равны null
, поэтому возвращается <пустое> значение.
Пример
Выходные операторы возвращают значения, отличные от null. Тип выходных данных должен соответствовать типу в сравнении, иначе произойдет ошибка.
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
Выходные данные примера
Имя. | Тип | значение |
---|---|---|
nonNullStr |
строка | demoString |
nonNullInt |
INT | 10 |
nonNullEmpty |
строка | <empty> |
Условное выражение ? :
condition ? true-value : false-value
Проверяет условие и возвращает значение в зависимости от его истинности или ложности.
Операнды
Операнд | Тип | Описание |
---|---|---|
condition |
boolean | Условие для проверки на истинность или ложность. |
true-value |
строка, целое число, логическое значение, объект, массив | Значение, если условие истинно. |
false-value |
строка, целое число, логическое значение, объект, массив | Значение, если условие ложно. |
Пример
В этом примере вычисляется начальное значение параметра и возвращается значение, указывающее, имеет ли условие значение true или false.
param initValue bool = true
output outValue string = initValue ? 'true value' : 'false value'
Выходные данные примера
Имя. | Тип | значение |
---|---|---|
outValue |
строка | значение true |
Следующие шаги
- Сведения о создании файла Bicep см. в разделе Краткое руководство. Создание файлов Bicep с помощью Visual Studio Code.
- Дополнительные сведения об устранении ошибок типа Bicep см. в статье Функция any для Bicep.
- Инструкции по сравнению синтаксиса Bicep и JSON см. в статье Сравнение JSON и Bicep для шаблонов.
- Примеры функций Bicep см. в разделе Функции Bicep.