2

私は を持っていて、val list = List[Foo]()これに特定のメソッドを定義したいのですが、Listタイプが の場合のみです。Foolist.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 に答える