28

私は次のscalaクラス定義(論文にあります)、モデリングカテゴリを持っています:

trait Category[~>[_, _]] {
    def compose[A, B, C]
     (f: B ~> C)
     (g: A ~> B)
     : A ~> C
    def id[A]: A ~> A
}

誰かがCategorytypeパラメーターとメソッドreturntypeで「〜>」が何を意味するのか説明できますか?または、それを説明するリソースに案内してください...私はScala(Javaから来ています)を初めて使用するので、それがscalaユーザーが知っておくべきことである場合はご容赦ください...よろしくお願いします

4

2 に答える 2

34

~>の型パラメーターの単なるプレースホルダー名ですCategory。のようTclass 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]
}
于 2012-04-10T09:18:32.163 に答える