在查看 Dotty 的 (Scala 3.0)运算符规则时,我注意到以下@alpha
注释示例:
object VecOps {
@alpha("append") def (xs: Vec[T]) ++= [T] (ys: Vec[T]): Vec[T] = ...
}
此示例旨在说明如何显式设置方法在具有 java 不允许的字符时将被编译的名称,但它似乎也表明了一种定义静态中缀方法的新方法,据我所知到这一步是不可能的。
当我尝试:
object StaticFunctions {
def (x : Int) myPlus (y: Int) : Int = x + y
}
我的编译器告诉我迷路。
这是一个新功能吗?我希望如此,因为我希望能够编写静态中缀函数而不求助于隐式转换。
如果这是 3.0 的新功能,为什么在操作员规则部分(或其他任何地方)没有提到它?