Lista de operadores




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 fechas
  • date + 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ógico
  • not: NO lógico
  • c ? 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
  • &
  • |