Поделиться через


Операторы Bicep

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

Приоритет оператора и ассоциативность

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

Символ Тип операции Ассоциативность
( ) [ ] . :: Круглые скобки, индексаторы массивов, методы доступа к свойствам и вложенный метод доступа к ресурсам Слева направо
! - Унарный Справа налево
% * / Мультипликативный Слева направо
+ - Добавка Слева направо
<= < > >= Реляционная Слева направо
== != =~ !~ Равенство Слева направо
&& Логическое AND Слева направо
|| Логическое ИЛИ Слева направо
?? Срастаться Слева направо
? : Условное выражение (ternary) Справа налево

Круглые скобки

Заключив выражение между скобками, можно переопределить приоритет оператора Bicep по умолчанию. Например, выражение вычисляет деление x + y / z сначала, а затем добавление. Однако выражение (x + y) / z оценивает добавление первого и второго деления.

Доступа

Операторы доступа используются для доступа к вложенным ресурсам и свойствам объектов.

Оператор Имя Описание
[] Метод доступа к индексу Доступ к элементу массива или свойства объекта.
[^index] Обратный метод доступа к индексу Обращается к элементу массива по индексу, подсчитывая от конца массива (1 на основе от конца).
. Метод доступа к функциям Вызов функции в ресурсе.
:: Метод доступа к вложенным ресурсам Доступ к вложенным ресурсам за пределами родительского ресурса.
. Метод доступа к свойствам Доступ к свойствам объекта.

Сравнение

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

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

Логичный

Логические операторы оценивают логические значения, возвращают ненулевое значение или оценивают условное выражение.

Оператор Имя Описание
&& и Возвращает true значение, если все значения имеют значение true.
|| или Возвращает значение true , если любое значение имеет значение true.
! Не Отрицает логическое значение. Принимает один операнду.
?? Срастаться Возвращает первое непустое значение.
? : Условное выражение Вычисляет условие для true или false и возвращает значение.

Прощать значение NULL

Оператор,допускающий значение NULL, подавляет все предупреждения, допускающие значение NULL, для предыдущего выражения.

Оператор Имя Описание
! Прощать значение NULL Подавляет все предупреждения, допускающие значение NULL для предыдущего выражения.

Числовое

Числовые операторы используют целые числа для вычисления и возврата целочисленных значений.

Оператор Имя Описание
* Умножение Умножает два целых числа.
/ Делить Делит целое число по целочислению.
% Модуль Делит целое число на целое число и возвращает оставшуюся часть.
+ Прибавить Добавляет два целых числа.
- Вычитание Вычитает одно целое число из другого целого числа. Принимает два операнда.
- Минус (унарный) Умножает целое число на -1. Принимает один операнду.

Замечание

Вычитание и минус используют тот же оператор. Функциональность отличается, так как вычитание использует два операнда и минус использует один операнд.

Безопасное разыменовывание

Оператор безопасного разыменования помогает предотвратить ошибки, которые могут возникать при попытке доступа к свойствам или элементам без надлежащего знания о их существовании или значении.

Оператор Имя Описание
<base>.?<property>, <base>[?<index>] Безопасное разыменовывание Применяет доступ к элементу объекта или операцию доступа к элементу массива к операнду, только если этот операнд оценивается как ненулевое, в противном случае возвращается null.

Распространение

Оператор распространения используется для расширения итерируемого массива или объекта в отдельные элементы. Оператор распространения позволяет легко управлять массивами или объектами, распространяя их элементы или свойства в новые массивы или объекты.

Оператор Имя Описание
... Распространение Позволяет расширить итерируемые массивы и объекты на отдельные элементы или свойства.

Дальнейшие шаги