我有以下scala类定义(在论文中找到),建模类别:
trait Category[~>[_, _]] {
def compose[A, B, C]
(f: B ~> C)
(g: A ~> B)
: A ~> C
def id[A]: A ~> A
}
Run Code Online (Sandbox Code Playgroud)
谁能解释一下'type>参数中的'〜>'是什么意思,并且在方法返回类型中?或者引导我找到解释它的资源......我是Scala的新手(来自Java),请原谅我,如果这是scala用户应该知道的事情...提前谢谢你
Deb*_*ski 31
~>只是type-parameter的占位符名称Category.喜欢T中class Option[T].
此外,Scala语法允许您B ~> C作为速记写入~>[B, C].
如果你重命名它可能会变得更清楚:
trait Category[Mapping[_, _]] {
def compose[A, B, C](f: Mapping[B, C])(g: Mapping[A, B]): Mapping[A, C]
def id[A]: Mapping[A, A]
}
Run Code Online (Sandbox Code Playgroud)