0

在查看 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 的新功能,为什么在操作员规则部分(或其他任何地方)没有提到它?

4

0 回答 0