Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 muestran en orden descendente de precedencia (cuanto mayor sea la posición mayor será la prioridad). Los operadores enumerados en el mismo nivel tienen la misma prioridad.
Símbolo | Tipo de operación | Capacidad de asociación |
---|---|---|
(
)
[
]
.
::
|
Paréntesis, indexadores de matriz, descriptores de acceso de propiedad y descriptor de acceso de recursos anidados | Izquierda a derecha |
!
-
|
Unario | Derecha a izquierda |
%
*
/
|
Multiplicativo | Izquierda a derecha |
+
-
|
Aditivo | Izquierda a derecha |
<=
<
>
>=
|
Relacional | Izquierda a derecha |
==
!=
=~
!~
|
Igualdad | Izquierda a derecha |
&& |
Y lógico | Izquierda a derecha |
|| |
O lógico | Izquierda a derecha |
?? |
Fusionar | Izquierda a derecha |
?
:
|
Expresión condicional (ternario) | Derecha a izquierda |
Paréntesis
La inclusión de una expresión entre paréntesis le permite invalidar la precedencia predeterminada del operador bicep. Por ejemplo, la expresión x + y / z
evalúa primero la división y, a continuación, la adición. Sin embargo, la expresión (x + y) / z
evalúa la suma y la segunda división.
Descriptor
Los operadores de descriptor de acceso se usan para acceder a recursos anidados y propiedades en objetos.
Operador | Nombre | Descripción |
---|---|---|
[] |
Descriptor de acceso de índice | Obtenga acceso a un elemento de una matriz o propiedad en un objeto . |
[^index] |
Descriptor de acceso de índice inverso | Obtiene acceso a un elemento de matriz por índice, contando desde el final de la matriz (basado en 1 desde el final). |
. |
Descriptor de acceso de función | 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 propiedad | Obtener acceso a las propiedades de un objeto. |
Comparación
Los operadores de comparación comparan valores y devuelven true
o false
.
Operador | 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. |
< |
Menos que | Determina si el primer valor es menor que el segundo. |
== |
Es igual a | Evalúa 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 | Omite el caso para determinar si dos valores son iguales. |
!~ |
No es igual sin distinción de mayúsculas y minúsculas | Omite el caso para determinar si dos valores no son iguales. |
Lógico
Los operadores lógicos evalúan valores booleanos, devuelven valores no NULL o evalúan una expresión condicional.
Operador | Nombre | Descripción |
---|---|---|
&& |
Y | Devuelve true si todos los valores son true. |
|| |
O | Devuelve true si cualquiera de los valores es true. |
! |
No | Niega un valor booleano. Toma un operando. |
?? |
Coalesce | Devuelve el primer valor distinto de NULL. |
?
:
|
Expresión condicional | Evalúa una condición para true o false y devuelve un valor. |
Perdonación nula
El operador null-forgiving suprime todas las advertencias que aceptan valores NULL para la expresión anterior.
Operador | Nombre | Descripción |
---|---|---|
! |
Perdonación nula | Suprime todas las advertencias que aceptan valores NULL para la expresión anterior. |
Numérico
Los operadores numéricos usan enteros para realizar cálculos y devolver valores enteros.
Operador | Nombre | Descripción |
---|---|---|
* |
Multiplicar | Multiplica dos enteros. |
/ |
Dividir | Divide un entero por un entero. |
% |
Módulo | Divide un entero por un entero y devuelve el resto. |
+ |
Agregar | Agrega dos enteros. |
- |
Restar | Resta un entero de otro entero. Toma dos operandos. |
- |
Menos (unario) | Multiplica un entero por -1 . Toma un operando. |
Nota:
Resta y menos usa el mismo operador. La funcionalidad es diferente porque resta usa dos operandos y menos usa un operando.
Desreferencia segura
El operador safe-dereference ayuda a evitar errores que pueden producirse al intentar acceder a propiedades o elementos sin el conocimiento adecuado de su existencia o valor.
Operador | Nombre | Descripción |
---|---|---|
<base>.?<property> , <base>[?<index>] |
Desreferencia segura | Aplica un acceso de miembro de objeto o una operación de acceso de elemento de matriz a su operando solo si ese operando se evalúa como no NULL; de lo contrario, devuelve null . |
Propagación
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.
Operador | Nombre | Descripción |
---|---|---|
... |
Propagación | 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.