1
我試圖實現unapply
爲類,Foo
:模式匹配的斯卡拉`class`
object Foo {
def unapply(x: Int): Option[Int] = Some(x)
}
class Foo(x: Int)
然而,在REPL失敗時,我嘗試使用它:
scala> val f = new Foo(100)
scala> f match { case Foo(x) => x }
<console>:13: error: pattern type is incompatible with expected type;
found : Int
required: Foo
f match { case Foo(x) => x }
爲什麼我不能使用我爲此示例創建的unapply
?
謝謝'M-z'。這是另一個[示例](http://stackoverflow.com/a/20032429/409976)爲您的解決方案的讀者。 – 2014-11-24 03:54:55