erg/doc/zh_CN/API/operators.md
2022-09-06 09:29:14 +09:00

1.7 KiB

操作员

badge

中缀运算符

_+_|R; O; A <: Add(R, O)|(x: A, y: R) -> O

执行加法。

_-_|R; O; S <: Sub(R, O)|(x: S, y: R) -> O

执行减法。

*|R; O; M <: Mul R, O|(x: M, y: R) -> O

执行乘法。

/|R; O; D <: Div(R, O)|(x: D, y: R) -> O

进行除法。

中缀字母运算符

and(x: Bool, y: Bool) -> Bool

执行 and 操作。

or(x: Bool, y: Bool) -> Bool

执行 and 操作。

前缀运算符

+_|T <: Num|(x: T) -> T

默认与 id 相同。

-_|T <: Num|(x: T) -> T.Neg

例如 Nat.-: Nat -> Neg 和返回值不同。

!|T <: Immut|(x: T) -> T!

从不可变对象创建可变对象。 该运算符本身不是程序性的,可以在函数内部使用。

..|T <: Ord|(x: T) -> Range T

在 x 的末尾创建一个没有下限的 Range 对象。 x..x 仅返回 x 作为迭代器。

..<|T <: Ord|(x: T) -> Range T

x..<x 产生一个空的 Range 对象,不产生任何迭代器。

后缀运算符

解析中缀运算符失败时调用后缀运算符。 也就是说,即使x..返回一个函数,x..y(..)(x, y)而不是(x..)(y)

|T <: Ord|(x: T).. -> Range T

创建一个从 x 开始没有上限的 Range 对象。

|T <: Ord|(x: T)<.. -> Range T