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 decrescente de precedência (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 |
== != =~ !~ |
Igualitário | 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 (ternário) | Da direita para a esquerda |
Parênteses
Colocar uma expressão entre parênteses permite que você substitua a precedência do operador Bicep padrão. Por exemplo, a expressãox + y / z
avalia a divisão primeiro e depois a adição. No entanto, a expressão (x + y) / z
avalia a adição primeiro e depois a divisão.
Acessador
Os operadores do acessador são usados para acessar recursos e propriedades aninhados em objetos.
Operador | Nome | Descrição |
---|---|---|
[] |
Acessador de índice | Acessar um elemento de uma matriz ou propriedade em um objeto. |
. |
Acessador de função | Chame uma função em um recurso. |
:: |
Acessador de recurso aninhado | Acesse um recurso aninhado de fora do recurso pai. |
. |
Acessador de propriedade | Propriedades de acesso 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 a | Avalia se dois valores são iguais. |
!= |
Não igual a | Avalia se dois valores são diferentes. |
=~ |
Igualar maiúsculas de minúsculas | Ignora maiúsculas e minúsculas para determinar se os dois valores são iguais. |
!~ |
Não igualar maiúsculas de minúsculas | Ignora maiúsculas e minúsculas para determinar se os dois valores são diferentes. |
Lógico
Os operadores lógicos avaliam valores boolianos, retornam valores não nulos ou avaliam uma expressão condicional.
Operador | Nome | Descrição |
---|---|---|
&& |
And | Retornará true se todos os valores forem true. |
|| |
Or | Retornará true se um dos valores for true. |
! |
Not | Nega um valor booliano. Usa um operando. |
?? |
Coalesce | Retorna o primeiro valor não nulo. |
? : |
Expressões condicionais | Avalia uma condição para true ou false e retorna um valor. |
Tolerante a nulo
O operador tolerante a nulo suprime todos os avisos anuláveis para a expressão anterior.
Operador | Nome | Descrição |
---|---|---|
! |
Tolerante a 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 |
---|---|---|
* |
Multiply | Multiplica dois inteiros. |
/ |
Divide | Divide um inteiro por um inteiro. |
% |
Módulo | Divide um inteiro por um inteiro e retorna o restante. |
+ |
Adicionar | Adiciona dois inteiros. |
- |
Subtract | Subtrai um inteiro de outro inteiro. Usa dois operandos. |
- |
Minus (unitário) | Multiplica um inteiro por -1 . Usa um operando. |
Observação
Subtract e minus usam o mesmo operador. A funcionalidade é diferente porque subtract usa dois operandos e minus usa um operando.
Safe-dereference
O operador safe-deference 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>] |
Safe-dereference | Aplica uma operação de acesso a membro de objeto ou de acesso a elemento de matriz a seu operando somente se esse operando for avaliado como não nulo; caso contrário, ele retorna null . |
Spread
O operador de spread é usado para expandir uma matriz ou objeto iterável em elementos individuais. O operador de spread permite manipular facilmente matrizes ou objetos espalhando seus elementos ou propriedades em novas matrizes ou objetos.
Operador | Nome | Descrição |
---|---|---|
... |
Spread | Permite a expansão de matrizes e objetos iteráveis em elementos ou propriedades individuais. |
Próximas etapas
- Para criar um arquivo Bicep, consulte Início rápido: criar arquivos Bicep com o Visual Studio Code.
- Para obter informações sobre como resolver erros de tipo Bicep, confira Qualquer função para Bicep.
- Para comparar a sintaxe para Bicep e JSON, confira Comparar JSON e Bicep para modelos.
- Para ver exemplos de funções Bicep, consulte Funções Bicep.