Operadores de Bicep
En este artículo, se describen los operadores de Bicep. Los operadores se usan para calcular valores, comparar valores o evaluar condiciones. Hay seis tipos de operadores de Bicep:
Prioridad y asociatividad de los operadores
Los operadores siguientes se enumeran en orden descendente de precedencia (cuanto mayor sea la posición, mayor será la precedencia). Los operadores que aparecen en el mismo nivel tienen la misma precedencia.
Símbolo | Tipo de operación | asociatividad |
---|---|---|
( ) [ ] . :: |
Paréntesis, indexadores de matriz, descriptores de acceso de propiedades y descriptores de acceso de recursos anidados | De izquierda a derecha |
! - |
Unario | De derecha a izquierda |
% * / |
Multiplicativo | De izquierda a derecha |
+ - |
Aditivo | De izquierda a derecha |
<= < > >= |
Relacional | De izquierda a derecha |
== != =~ !~ |
Igualdad | De izquierda a derecha |
&& |
Y lógico | De izquierda a derecha |
|| |
O lógico | De izquierda a derecha |
?? |
Coalesce | De izquierda a derecha |
? : |
Expresión condicional (ternaria) | De derecha a izquierda |
Paréntesis
Encerrar una expresión entre paréntesis permite invalidar la precedencia predeterminada del operador Bicep. Por ejemplo, la expresión x + y / z
evalúa primero la división y, después, la suma. Sin embargo, la expresión(x + y) / z
evalúa la suma primero y la división después.
Descriptor de acceso
Los operadores de los descriptores de acceso se usan para acceder a recursos anidados y propiedades de los objetos.
Operator | Nombre | Descripción |
---|---|---|
[] |
Descriptor de acceso de índice | Acceda a un elemento de una matriz o propiedad en un objeto. |
. |
Descriptor de acceso de funciones | Llame a una función en un recurso. |
:: |
Descriptor de acceso de recursos anidados | Acceda a un recurso anidado desde fuera del recurso primario. |
. |
Descriptor de acceso de propiedades | Propiedades de acceso de un objeto. |
De comparación
Los operadores de comparación comparan valores y devuelven true
o false
.
Operator | Nombre | Descripción |
---|---|---|
>= |
Mayor que o igual a | Determina si el primer valor es mayor o igual que el segundo. |
> |
Mayor que | Determina si el primer valor es mayor que el segundo. |
<= |
Menor que o igual a | Determina si el primer valor es menor o igual que el segundo. |
< |
Menor que | Determina si el primer valor es menor que el segundo. |
== |
Es igual a | Determina si dos valores son iguales. |
!= |
No igual a | Determina si dos valores no son iguales. |
=~ |
Igual sin distinción de mayúsculas y minúsculas | Determina si dos valores son iguales sin tener en cuenta la distinción entre mayúsculas y minúsculas. |
!~ |
No es igual sin distinción de mayúsculas y minúsculas | Determina si dos valores no son iguales sin tener en cuenta la distinción entre mayúsculas y minúsculas. |
Lógicos
Los operadores lógicos evalúan valores booleanos, devuelven valores que no son NULL o evalúan expresiones condicionales.
Operator | Nombre | Descripción |
---|---|---|
&& |
Y | Devuelve true si todos los valores son TRUE. |
|| |
O | Devuelve true si alguno de los valores es TRUE. |
! |
Not | Niega un valor booleano. Toma un operando. |
?? |
Fusionar | Devuelve el primer valor que no es NULL. |
? : |
Expresión condicional | Determina si una condición es TRUE o FALSE y devuelve un valor. |
Null-forgiving
El operador que admite valores NULL suprime todas las advertencias que admite un valor NULL para la expresión anterior.
Operator | Nombre | Descripción |
---|---|---|
! |
Null-forgiving | Suprime todas las advertencias que admite un valor NULL para la expresión anterior. |
Numeric
Los operadores numéricos usan enteros para realizar cálculos y devolver valores enteros.
Operator | Nombre | Descripción |
---|---|---|
* |
Multiplicar | Multiplica dos enteros. |
/ |
Dividir | Divide un entero por otro. |
% |
Módulo | Divide un entero por otro y devuelve el resto. |
+ |
Add (Agregar) | Suma dos enteros. |
- |
Restar | Resta un entero de otro entero. Toma dos operandos. |
- |
Menos (unario) | Multiplica un entero por -1 . Toma un operando. |
Nota
"Restar" y "Menos" utilizan el mismo operador. La funcionalidad es diferente porque "Restar" utiliza dos operandos, mientras que "Menos" solo utiliza uno.
Desreferencia segura
El operador de desreferencia segura ayuda a evitar errores que pueden producirse al intentar acceder a propiedades o elementos sin tener un conocimiento adecuado de su existencia o valor.
Operator | Nombre | Descripción |
---|---|---|
<base>.?<property> , <base>[?<index>] |
Desreferencia segura | Aplica una operación de acceso a miembro de objeto o de acceso a elemento de matriz a su operando solo si dicho operando se evalúa como no nulo; en caso contrario, devuelve null . |
Spread
El operador de propagación se usa para expandir una matriz o objeto iterable en elementos individuales. El operador de propagación permite manipular fácilmente matrices u objetos mediante la propagación de sus elementos o propiedades en nuevas matrices o objetos.
Operator | Nombre | Descripción |
---|---|---|
... |
Spread | Permite la expansión de matrices y objetos iterables en elementos o propiedades individuales. |
Pasos siguientes
- Para crear un archivo de Bicep, consulte Inicio rápido: Creación de plantillas de archivos de Bicep con Visual Studio Code.
- Para obtener información sobre cómo resolver errores de tipos de Bicep, consulte Función any para Bicep.
- Para comparar la sintaxis de Bicep y JSON, consulte Comparación de JSON y Bicep para plantillas.
- Para ejemplos de funciones de Bicep, consulte Funciones de Bicep.