Операторы сравнения Bicep

Операторы сравнения сравнивают значения и возвращают либо true, либо false. В этих примерах используйте для развертывания файла Bicep Azure CLI или Azure PowerShell.

Оператор Имя
>= Больше или равно
> Больше чем
<= Меньше или равно
< Меньше
== Равно
!= Не равно
=~ Равно без учета регистра
!~ Не равно без учета регистра

Больше или равно >=

operand1 >= operand2

Сравнивает, больше ли первое значение второго значения или равно ему.

Операнды

Операнд Type Описание
operand1 целое число, строка Первое выражение для сравнения.
operand2 целое число, строка Второе выражение для сравнения.

Возвращаемое значение

Если первое значение больше второго или равно ему, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравниваются пара целых чисел и пара строк.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'A'
param secondString string = 'A'

output intGtE bool = firstInt >= secondInt
output stringGtE bool = firstString >= secondString

Выходные данные примера

Имя Тип Значение
intGtE Логическое Да
stringGtE Логическое Да

Больше: >

operand1 > operand2

Сравнивает, больше ли первое значение второго значения.

Операнды

Операнд Type Описание
operand1 целое число, строка Первое выражение для сравнения.
operand2 целое число, строка Второе выражение для сравнения.

Возвращаемое значение

Если первое значение больше второго, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравниваются пара целых чисел и пара строк.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'bend'
param secondString string = 'band'

output intGt bool = firstInt > secondInt
output stringGt bool = firstString > secondString

Выходные данные примера

За счет e в слове bend первая строка оказывается больше.

Имя Тип Значение
intGt Логическое Да
stringGt Логическое Да

Меньше или равно <=

operand1 <= operand2

Сравнивает, меньше ли первое значение второго значения или равно ему.

Операнды

Операнд Type Описание
operand1 целое число, строка Первое выражение для сравнения.
operand2 целое число, строка Второе выражение для сравнения.

Возвращаемое значение

Если первое значение меньше второго или равно ему, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравниваются пара целых чисел и пара строк.

param firstInt int = 5
param secondInt int = 10

param firstString string = 'demo'
param secondString string = 'demo'

output intLtE bool = firstInt <= secondInt
output stringLtE bool = firstString <= secondString

Выходные данные примера

Имя Тип Значение
intLtE Логическое Да
stringLtE Логическое Да

Меньше: <

operand1 < operand2

Сравнивает, меньше ли первое значение второго значения.

Операнды

Операнд Type Описание
operand1 целое число, строка Первое выражение для сравнения.
operand2 целое число, строка Второе выражение для сравнения.

Возвращаемое значение

Если первое значение меньше второго, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравниваются пара целых чисел и пара строк.

param firstInt int = 5
param secondInt int = 10

param firstString string = 'demo'
param secondString string = 'Demo'

output intLt bool = firstInt < secondInt
output stringLt bool = firstString < secondString

Выходные данные примера

В данном случае возвращается значение true, потому что строчные буквы меньше прописных.

Имя Тип Значение
intLt Логическое Да
stringLt Логическое Да

Равно ==

operand1 == operand2

Сравнивает, равны ли два значения.

Операнды

Операнд Type Описание
operand1 строка, число, логическое значение, массив, объект Первое выражение для сравнения.
operand2 строка, число, логическое значение, массив, объект Второе выражение для сравнения.

Возвращаемое значение

Если операнды равны, возвращается значение true. Если операнды различаются, возвращается значение false.

Пример

Сравниваются пары целых чисел, строк и логических значений.

param firstInt int = 5
param secondInt int = 5

param firstString string = 'demo'
param secondString string = 'demo'

param firstBool bool = true
param secondBool bool = true

output intEqual bool = firstInt == secondInt
output stringEqual bool = firstString == secondString
output boolEqual bool = firstBool == secondBool

Выходные данные примера

Имя Тип Значение
intEqual Логическое Да
stringEqual Логическое Да
boolEqual Логическое Да

При сравнении массивов два массива должны содержать одинаковые элементы в том же порядке. Массивы не должны быть назначены друг другу.

var array1 = [
  1
  2
  3
]

var array2 = [
  1
  2
  3
]

var array3 = array2

var array4 = [
  3
  2
  1
]

output sameElements bool = array1 == array2 // returns true because arrays are defined with same elements
output assignArray bool = array2 == array3 // returns true because one array was defined as equal to the other array
output differentOrder bool = array4 == array1 // returns false because order of elements is different

Выходные данные примера

Имя Тип Значение
sameElements bool Да
assignArray bool Да
differentOrder bool false

При сравнении объектов все имена и значения свойств должны быть одинаковыми. Свойства не обязательно определять в одинаковом порядке.

var object1 = {
  prop1: 'val1'
  prop2: 'val2'
}

var object2 = {
  prop1: 'val1'
  prop2: 'val2'
}

var object3 = {
  prop2: 'val2'
  prop1: 'val1'
}

var object4 = object3

var object5 = {
  prop1: 'valX'
  prop2: 'valY'
}

output sameObjects bool = object1 == object2 // returns true because both objects defined with same properties
output differentPropertyOrder bool = object3 == object2 // returns true because both objects have same properties even though order is different
output assignObject bool = object4 == object1 // returns true because one object was defined as equal to the other object
output differentValues bool = object5 == object1 // returns false because values are different

Выходные данные примера

Имя Тип Значение
sameObjects bool Да
differentPropertyOrder bool Да
assignObject bool Да
differentValues bool false

Не равно !=

operand1 != operand2

Сравнивает, не равны ли два значения.

Операнды

Операнд Type Описание
operand1 строка, число, логическое значение, массив, объект Первое выражение для сравнения.
operand2 строка, число, логическое значение, массив, объект Второе выражение для сравнения.

Возвращаемое значение

Если операнды не равны, возвращается значение true. Если операнды равны, возвращается значение false.

Пример

Сравниваются пары целых чисел, строк и логических значений.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'demo'
param secondString string = 'test'

param firstBool bool = false
param secondBool bool = true

output intNotEqual bool = firstInt != secondInt
output stringNotEqual bool = firstString != secondString
output boolNotEqual bool = firstBool != secondBool

Выходные данные примера

Имя Тип Значение
intNotEqual Логическое Да
stringNotEqual Логическое Да
boolNotEqual Логическое Да

Примеры для массивов и объектов см. в разделе о равенстве.

Равно без учета регистра =~

operand1 =~ operand2

Определяет, равны ли два значения без учета регистра.

Операнды

Операнд Type Описание
operand1 строка Первая строка для сравнения.
operand2 строка Вторая строка для сравнения.

Возвращаемое значение

Если строки равны, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравнивает строки, в которых используются буквы разных регистров.

param firstString string = 'demo'
param secondString string = 'DEMO'

param thirdString string = 'demo'
param fourthString string = 'TEST'

output strEqual1 bool = firstString =~ secondString
output strEqual2 bool = thirdString =~ fourthString

Выходные данные примера

Имя Тип Значение
strEqual1 Логическое Да
strEqual2 Логическое false

Не равно без учета регистра !~

operand1 !~ operand2

Определяет, не равны ли два значения, без учета регистра.

Операнды

Операнд Type Описание
operand1 строка Первая строка для сравнения.
operand2 строка Вторая строка для сравнения.

Возвращаемое значение

Если строки не равны, возвращается значение true. В противном случае возвращается значение false.

Пример

Сравнивает строки, в которых используются буквы разных регистров.

param firstString string = 'demo'
param secondString string = 'TEST'

param thirdString string = 'demo'
param fourthString string = 'DeMo'

output strNotEqual1 bool = firstString !~ secondString
output strEqual2 bool = thirdString !~ fourthString

Выходные данные примера

Имя Тип Значение
strNotEqual1 Логическое Да
strNotEqual2 Логическое false

Дальнейшие действия