Compartir a través de


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 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