我有以下scala类定义(在论文中找到),建模类别:
trait Category[~>[_, _]] {
def compose[A, B, C]
(f: B ~> C)
(g: A ~> B)
: A ~> C
def id[A]: A ~> A
}
有人可以解释一下'〜>'表示在Category类型参数中,并在方法中返回类型? 或者引导我找到解释它的资源...... 我是Scala的新手(来自Java),请原谅我,如果这是scala用户应该知道的...... 提前谢谢
答案 0 :(得分:30)
~>
只是Category
的type-parameter的占位符名称。与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]
}
答案 1 :(得分:1)
在Akka streams中,它也用作边缘运算符。