Операторы Bicep

В этой статье описаны операторы Bicep. Операторы используются для вычисления значений, сравнения значений или вычисления условий. Существует шесть типов операторов Bicep:

Очередность и ассоциативность операторов

Приведенные ниже операторы перечислены в порядке убывания приоритета (чем выше приоритет, тем выше позиция). Операторы, указанные на одном уровне, имеют одинаковый приоритет.

Символ Тип операции Ассоциативность
( ) [ ] . :: Круглые скобки, индексаторы массивов, методы доступа к свойствам и метод доступа к вложенным ресурсам Слева направо
! - Унарный Справа налево
% * / Мультипликативные Слева направо
+ - Аддитивный Слева направо
<= < > >= Реляционная Слева направо
== != =~ !~ 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 Позволяет расширить итерируемые массивы и объекты на отдельные элементы или свойства.

Следующие шаги