Операторы Bicep
В этой статье описаны операторы Bicep. Операторы используются для вычисления значений, сравнения значений или вычисления условий. Существует шесть типов операторов Bicep:
- метод доступа
- Сравнение
- Логические
- пустая прощать
- numeric
- безопасное разыменовывание
- распространение
Очередность и ассоциативность операторов
Приведенные ниже операторы перечислены в порядке убывания приоритета (чем выше приоритет, тем выше позиция). Операторы, указанные на одном уровне, имеют одинаковый приоритет.
Символ | Тип операции | Ассоциативность |
---|---|---|
( ) [ ] . :: |
Круглые скобки, индексаторы массивов, методы доступа к свойствам и метод доступа к вложенным ресурсам | Слева направо |
! - |
Унарный | Справа налево |
% * / |
Мультипликативные | Слева направо |
+ - |
Аддитивный | Слева направо |
<= < > >= |
Реляционная | Слева направо |
== != =~ !~ |
Equality | Слева направо |
&& |
Логическое И | Слева направо |
|| |
Логическое ИЛИ | Слева направо |
?? |
Coalesce | Слева направо |
? : |
Условное выражение (тернарное) | Справа налево |
Круглые скобки
Заключение выражения в круглые скобки позволяет переопределить приоритет оператора Bicep по умолчанию. Например, выражение x + y / z
выполняет сначала деление, а затем сложение. Однако выражение (x + y) / z
сначала выполняет сложение, а затем деление.
Метод доступа
Операторы метода доступа используются для доступа к вложенным ресурсам и свойствам объектов.
Оператор | Имя | Описание |
---|---|---|
[] |
Метод доступа к индексу | Доступ к элементу массива или свойству объекта. |
. |
Метод доступа к функции | Вызов функции для ресурса. |
:: |
Метод доступа к вложенным ресурсам | Доступ к вложенному ресурсу осуществляется из-за пределов родительского ресурса. |
. |
Метод доступа к свойству | Доступ к свойству объекта. |
Сравнение
Операторы сравнения сравнивают значения и возвращают либо true
, либо false
.
Оператор | Имя | Описание |
---|---|---|
>= |
Больше или равно | Сравнивает, больше ли первое значение второго значения или равно ему. |
> |
Больше чем | Сравнивает, больше ли первое значение второго значения. |
<= |
Меньше или равно | Сравнивает, меньше ли первое значение второго значения или равно ему. |
< |
Меньше чем | Сравнивает, меньше ли первое значение второго значения. |
== |
Равно | Сравнивает, равны ли два значения. |
!= |
Не равно | Сравнивает, не равны ли два значения. |
=~ |
Равно без учета регистра | Игнорирует регистр, чтобы определить, равны ли два значения. |
!~ |
Не равно без учета регистра | Игнорирует регистр, чтобы определить, не равны ли два значения. |
Логический
Логические операторы оценивают логические значения, возвращают значения, отличные от NULL, или вычисляют условное выражение.
Оператор | Имя | Описание |
---|---|---|
&& |
And | Возвращает true , если все значения являются истинными. |
|| |
Or | Возвращает true , если любое из значений является истинным. |
! |
Not | Инвертирует логическое значение. Принимает один операнд. |
?? |
Coalesce | Возвращает первое значение, отличное от NULL. |
? : |
Условное выражение | Вычисляет условие для истинности или ложности и возвращает значение. |
Прощать значение NULL
Оператор,допускающий значение NULL, подавляет все предупреждения, допускающие значение NULL, для предыдущего выражения.
Оператор | Имя | Описание |
---|---|---|
! |
Прощать значение NULL | Подавляет все предупреждения, допускающие значение NULL для предыдущего выражения. |
Числовое
Числовые операторы используют целые числа для вычисления и возвращают целочисленные значения.
Оператор | Имя | Описание |
---|---|---|
* |
Умножение | Умножение двух целых чисел. |
/ |
Divide | Деление целого числа на целое число. |
% |
Остаток от деления | Деление целого числа на целое число и возврат остатка. |
+ |
Прибавить | Сложение двух целых чисел. |
- |
Вычитание | Вычитает одно целое число из другого. Принимает два операнда. |
- |
Минус (унарный) | Умножение целого числа на -1 . Принимает один операнд. |
Примечание.
Для действий "Вычитание" и "Минус" используется один и тот же оператор. Функциональность отличается, поскольку функция Subtract использует два операнда, а Minus использует только один операнд.
Безопасное разыменовывание
Оператор безопасного разыменования помогает предотвратить ошибки, которые могут возникать при попытке доступа к свойствам или элементам без надлежащего знания о их существовании или значении.
Оператор | Имя | Описание |
---|---|---|
<base>.?<property> , <base>[?<index>] |
Безопасное разыменовывание | Применяет доступ к элементу объекта или операцию доступа к элементу массива к операнду, только если этот операнд оценивается как ненулевое, в противном случае возвращается null . |
Распространение
Оператор распространения используется для расширения итерируемого массива или объекта в отдельные элементы. Оператор распространения позволяет легко управлять массивами или объектами, распространяя их элементы или свойства в новые массивы или объекты.
Оператор | Имя | Описание |
---|---|---|
... |
Spread | Позволяет расширить итерируемые массивы и объекты на отдельные элементы или свойства. |
Следующие шаги
- Сведения о создании файла Bicep см. в разделе Краткое руководство. Создание файлов Bicep с помощью Visual Studio Code.
- Дополнительные сведения об устранении ошибок типа Bicep см. в статье Функция any для Bicep.
- Инструкции по сравнению синтаксиса Bicep и JSON см. в статье Сравнение JSON и Bicep для шаблонов.
- Примеры функций Bicep см. в разделе Функции Bicep.