Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
- 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.