erg/doc/zh_CN/API/operators.md
GreasySlug c053fb55d0 doc(cn): update hash and contents
basically, copies from en doc
2024-05-20 00:26:01 +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