Los operadores son primitivas algebraicas que alimentan a Envision. A continuación, enumeramos la lista de los operadores compatibles con Envision.
Operadores genéricos
Los siguientes operadores son compatibles con todos los tipos:
==
: igualdad (distinción entre mayúsculas y minúsculas al comparar texto)!=
: desigualdad (distinción entre mayúsculas y minúsculas al comparar texto)<
: menor que>
: mayor que<=
: menor o igual que>=
: mayor o igual que
~~
: igualdad, sin distinción entre mayúsculas y minúsculas ni acentos (limitado a la comparación de texto)!~
: reversión de desigualdad ~~
El ordenamiento de los valores es el mismo para todas las construcciones de Envision (como
order by
,
rank
o
median
):
- los números se ordenan en orden ascendente
- las fechas se ordenan en orden cronológico
false < true
- los valores de texto se ordenan en orden alfabético (específicamente, por puntos de código Unicode)
Operadores numéricos
Son compatibles los siguientes operadores numéricos:
+
: suma-
: resta*
: multiplicación/
: división/.
: división reforzada por la división por cero, a /. b
. Devuelve 0 si b == 0
; en los demás casos, devuelve una división común.mod
: resto de división entera^
: potencia
Algunos operadores numéricos se pueden utilizar para fechas:
date - date
es el número de días entre dos fechasdate + number
y date - number
suman o restan días a una fecha
Operadores lógicos
Son compatibles los siguientes operadores lógicos:
&
: Y lógico|
: O lógiconot
: NO lógicoc ? a : b
: el operador condicional. Tenga en cuenta que a
, b
y c
primero se evalúan por separado.
Operadores de distribución
Las distribuciones se benefician de operadores específicos (vea también el artículo sobre
álgebra de distribuciones):
+
: suma puntual-
: resta puntual*
: multiplicación puntual<<
: desplazamiento a la izquierda>>
: desplazamiento a la derecha
Operadores de variable aleatoria
Cuando las distribuciones resultan ser variables aleatorias (masa igual a 1 sin valores negativos), se benefician de operadores específicos:
+*
: convolución aditiva-^
: convolución sustractiva**
: convolución multiplicativa (convolución de Dirichlet)^*
: potencia de convolución
Precedencia de operador
Los operadores a continuación se enumeran en orden de precedencia. Por ejemplo, debido a que
&
está antes que
|
,
A | B & C
se interpreta como
A | (B & C)
. Los operadores con la misma precedencia se agrupan de izquierda a derecha:
A * B / C
es
(A * B) / C
.
^
, ^*
, >>
, <<
*
, /
, /.
y mod
-
, +
, +*
, -*
, **
<
, <=
, ==
, !=
, ~~
, !~
, >
, >=
, ~~
y !~
not
&
|