Непонятный синтаксис манифеста Scala - PullRequest
2 голосов
/ 01 апреля 2012

Я видел фрагмент кода Scala с синтаксисом манифеста следующим образом. Я не знаю, что здесь означает WireFormat. Какое ограничение оно добавляет к Манифесту А? Означает ли это, что тип A должен расширять черту WireFormat?

Я не смог найти ни одного документа о таком синтаксисе.

trait WireFormat[A] {
  def toWire(x: A, out: DataOutput)
  def fromWire(in: DataInput): A
}

class DList[A : Manifest : WireFormat]

1 Ответ

4 голосов
/ 01 апреля 2012

Это привязанный к контексту . С двумя типами, разделенными двоеточиями, это просто означает, что есть два неявных параметра.

Другими словами, это то же самое, что и

class DList[A](implicit x: Manifest[A], y: WireFormat[A])
...