运算符列表


首页 » 资源 » 此处

此页列示了 Envision 支持的运算符。


通用运算符

各类运算都支持的运算符如下:
  • ==: 等于(比较文本时区分大小写)
  • !=: 不等于(比较文本时区分大小写)
  • <: 小于
  • >: 大于
  • <=: 小于或等于
  • >=: 大于或等于

  • ~~:大小写不敏感、撇号也不敏感的等式(仅限于文本比较)
  • !~:求 ~~ 的反向不等式

值的排序对所有 Envision 结构都一样(例如 order byrankmedian):
  • 数字按升序排序
  • 日期按年代顺序排序
  • false < true
  • 文本值按字母顺序排序(具体来说是按 Unicode 码位排序)

数值运算符

支持的数值运算符如下:
  • +: 加
  • -: 减
  • *: 乘
  • /: 除
  • /.:防止除零的除法,a /. b 等同于 a /max(1, b)
  • mod: 整除求余
  • ^: 幂

有些数值运算符可用于日期:
  • date - date:两个日期之间的天数
  • date + numberdate - number:加/减天数

逻辑运算符

支持的逻辑运算符如下:
  • &:逻辑与
  • |:逻辑或
  • not:逻辑非
  • c ? a : b条件运算符 也称为 ternary if。请注意:abc 会先单独求值。

分布运算符

有些特定的运算符对分布大有裨益(另请参阅分布代数):
  • +:点加
  • -:点减
  • *:点乘
  • <<:左移
  • >>:右移

随机变量运算符

当分布刚好为随机变量时(质量等于 1,无负值),使用特定的运算符很有好处:

  • +*:加卷积
  • -^:减卷积
  • **:乘卷积(Dirichlet 卷积)
  • ^*:卷积幂

运算符优先权

下面的运算符按优先权递增次序列出。例如,由于 &| 前面,因此 A | B & C 被解译为 A | (B &C)。优先权相同的运算符从左至右分组:A * B / C(A * B) / C
  • ^, ^*, >>, <<
  • *, /, /.mod
  • -, +, +*, -*, **
  • <, <=, ==, !=, ~~, !~, >, >=, ~~!~
  • not
  • &
  • |