Compartilhar via


Operadores Bicep

Este artigo descreve os operadores Bicep. Os operadores são usados para calcular valores, comparar valores ou avaliar condições. Há seis tipos de operadores Bicep:

Precedência e associatividade do operador

Os operadores a seguir são listados em ordem de precedência decrescente (quanto maior a posição, maior a precedência). Os operadores listados no mesmo nível têm precedência igual.

Símbolo Tipo de operação Capacidade de associação
( ) [ ] . :: Parênteses, indexadores de matriz, acessadores de propriedade e acessador de recursos aninhados Da esquerda para a direita
! - Unário Da direita para a esquerda
% * / Multiplicativo 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
?? Coalescer Da esquerda para a direita
? : Expressão condicional (ternário) Da direita para a esquerda

Parênteses

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

Acessor

Os operadores acessadores são usados para acessar recursos aninhados e propriedades em objetos.

Operador Nome Descrição
[] Acessador de índice Acesse um elemento de uma matriz ou propriedade em um objeto.
[^index] Acessador de índice reverso Acessa um elemento de matriz por índice, contando do final da matriz (com base em 1 do final).
. Acessador de funções Chame uma função em um recurso.
:: Acessador de recursos aninhados Acesse um recurso aninhado de fora do recurso pai.
. Acessador de propriedades Acessar propriedades de um objeto.

Comparação

Os operadores de comparação comparam valores e retornam true ou false.

Operador Nome Descrição
>= Maior ou igual a Avalia se o primeiro valor é maior ou igual ao segundo.
> Maior que Avalia se o primeiro valor é maior que o segundo.
<= Menor ou igual a Avalia se o primeiro valor é igual ou menor que o segundo.
< Menor que Avalia se o primeiro valor é menor que o segundo.
== Igual Avalia se dois valores são iguais.
!= Diferente de Avalia se dois valores são diferentes.
=~ Igualar maiúsculas de minúsculas Ignora maiúsculas e minúsculas para determinar se dois valores são iguais.
!~ Não igualar maiúsculas de minúsculas Ignora o caso para determinar se dois valores não são iguais.

Lógico

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

Operador Nome Descrição
&& E Retorna true se todos os valores forem verdadeiros.
|| Ou Retorna true se um dos valores for verdadeiro.
! Não Nega um valor booliano. Usa um operando.
?? Coalescer Retorna o primeiro valor não nulo.
? : Expressão condicional Avalia uma condição para true ou false e retorna um valor.

Tolerante a nulo

O operador que permite valor nulo suprime todos os avisos anuláveis para a expressão anterior.

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

Numérico

Os operadores numéricos usam inteiros para fazer cálculos e retornar valores inteiros.

Operador Nome Descrição
* Multiplicar Multiplica dois inteiros.
/ Dividir Divide um inteiro por um inteiro.
% Módulo Divide um inteiro por um inteiro e retorna o restante.
+ Adicionar Adiciona dois inteiros.
- subtrair Subtrai um inteiro de outro inteiro. Usa dois operandos.
- Menos (unário) Multiplica um inteiro por -1. Usa um operando.

Observação

Subtrair e menos usar o mesmo operador. A funcionalidade é diferente porque o subtraído usa dois operandos e menos usa um operando.

Desreferência segura

O operador de desreferência segura ajuda a evitar erros que podem ocorrer ao tentar acessar propriedades ou elementos sem o conhecimento adequado de sua existência ou valor.

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

Espalhamento

O operador spread é usado para expandir uma matriz ou objeto iterável em elementos individuais. O operador spread permite manipular facilmente matrizes ou objetos espalhando seus elementos ou propriedades em novas matrizes ou objetos.

Operador Nome Descrição
... Espalhar Permite a expansão de matrizes e objetos iteráveis em elementos ou propriedades individuais.

Próximas etapas