27

Вопрос по – Оператор Scala ~> (тильда больше чем)

У меня есть следующее определение класса scala (см. Статью), моделирование категорий: trait Category[~>[_, _]] { def compose[A, B, C] (f: B ~> C) (g: A ~> B) : A ~> C def id[A]: A ~> A }может кто-нибудь объяснить мне, что такое "а"; значит ...

1 ответ

29

~> это просто имя-заполнитель для параметра типа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]
}

Похожие вопросы