Operadores bicep

Este artigo descreve os operadores do Bicep. Os operadores são utilizados para calcular valores, comparar valores ou avaliar condições. Existem seis tipos de operadores bicep:

Precedência e associatividade do operador

Os operadores abaixo estão listados por ordem descendente de precedência (quanto maior for a posição, maior será a precedência). Os operadores listados no mesmo nível têm precedência igual.

Símbolo Tipo de Operação Associatividade
( ) [ ] . :: Parênteses, indexadores de matriz, acessórios de propriedades e acessório de recursos aninhados Da esquerda para a direita
! - Unária Da direita para a esquerda
% * / Multiplicadora Da esquerda para a direita
+ - Aditiva Da esquerda para a direita
<= < > >= Relacional Da esquerda para a direita
== != =~ !~ Igualdade Da esquerda para a direita
&& AND lógico Da esquerda para a direita
|| OR lógico Da esquerda para a direita
?? Coalesce Da esquerda para a direita
? : Expressão condicional (ternary) Da direita para a esquerda

Parênteses

Incluir uma expressão entre parênteses permite-lhe substituir a precedência do operador Bicep predefinida. Por exemplo, a expressão x + y / z avalia primeiro a divisão e, em seguida, a adição. No entanto, a expressão (x + y) / z avalia a adição em primeiro lugar e a segunda divisão.

Acessório

Os operadores de acessórios são utilizados para aceder a recursos aninhados e propriedades em objetos.

Operador Nome Descrição
[] Acessório de índice Aceda a um elemento de uma matriz ou propriedade num objeto.
. Acessório de função Chamar uma função num recurso.
:: Acessório de recursos aninhado Aceda a um recurso aninhado de fora do recurso principal.
. Acessório de propriedade Aceder às propriedades de um objeto.

Comparação

Os operadores de comparação comparam valores e devolvem ou truefalse.

Operador Nome Descrição
>= Maior ou igual Avalia se o primeiro valor é maior ou igual ao segundo valor.
> Maior que Avalia se o primeiro valor é maior que o segundo valor.
<= Menor ou igual Avalia se o primeiro valor é menor ou igual ao segundo valor.
< Menor que Avalia se o primeiro valor é inferior ao segundo valor.
== É igual a Avalia se dois valores são iguais.
!= Não é igual Avalia se dois valores não são iguais.
=~ Não sensível a maiúsculas e minúsculas Ignora maiúsculas e minúsculas para determinar se dois valores são iguais.
!~ Não é sensível a maiúsculas e minúsculas Ignora maiúsculas e minúsculas para determinar se dois valores não são iguais.

Lógico

Os operadores lógicos avaliam valores booleanos, devolvem valores não nulos ou avaliam uma expressão condicional.

Operador Nome Descrição
&& E Devolve true se todos os valores forem verdadeiros.
|| Ou Devolve true se qualquer um dos valores for verdadeiro.
! Não Nega um valor booleano. Leva um operando.
?? Coalesce Devolve o primeiro valor não nulo.
? : Expressão condicional Avalia uma condição para verdadeiro ou falso e devolve um valor.

Perdão nulo

O operador de perdão nulo suprime todos os avisos nulos para a expressão anterior.

Operador Nome Descrição
! Perdão nulo Suprime todos os avisos nublados para a expressão anterior.

Operador numérico

Os operadores numéricos utilizam números inteiros para fazer cálculos e devolver valores inteiros.

Operador Nome Descrição
* Multiplicar Multiplica dois números inteiros.
/ Dividir Divide um número inteiro por um número inteiro.
% Módulo Divide um número inteiro por um número inteiro e devolve o resto.
+ Adicionar Adiciona dois números inteiros.
- Subtrair Subtrai um número inteiro de outro número inteiro. Leva dois operandos.
- Subtração (unário) Multiplica um número inteiro por -1. Leva um operando.

Nota

Subtrair e menos utilize o mesmo operador. A funcionalidade é diferente porque subtrair utiliza dois operandos e menos utiliza um operando.

Dereferência segura

O operador de dereferência segura ajuda a evitar erros que podem ocorrer ao tentar aceder a propriedades ou elementos sem ter conhecimento adequado da sua existência ou valor.

Operador Nome Descrição
<base>.?<property>, <base>[?<index>] Dereferência segura Aplica um acesso de membro de objeto ou uma operação de acesso de elemento de matriz ao operando apenas se esse operando for avaliado como não nulo, caso contrário, devolve null.

Passos seguintes