2

我有一个val list = List[Foo]()并且我想在这个上定义某些方法,List但只有当它是类型时Foo,说list.prettyDisplay()

这在 Scala 中可能吗?我正在查看有关高级类型的教程(http://twitter.github.com/scala_school/advanced-types.html),但我认为我没有看到我在寻找什么。

4

1 回答 1

4

List[Foo]您可以定义从某个实现的类的隐式转换prettyDisplay。由于其参数的类型,此转换不适用于其他列表。

class Foo

implicit def betterFooList(l:List[Foo]) = new {
  def prettyDisplay() = ???
}

List(new Foo).prettyDisplay()
于 2012-09-28T21:14:38.147 回答