我有:
x match {
case a: SomeType => doSomething()
case _ => doSomethingElse()
}
有没有办法检查'a'不是给定类型?
像这样:
x match {
case !(a: SomeType) => doSomething()
case _ => doSomethingElse()
}
编辑:我同意这个问题可能不是很清楚,但是我的兴趣主要是合乎逻辑的,并且已经得到回答。
答案 0 :(得分:5)
类似这样的东西:
x match {
case a: if !a.isInstanceOf[MyFirst] => doSomething()
case b: MySecond => doSomething()
case _ => doSomethingElse()
}
答案 1 :(得分:4)
编辑后。您需要的内容与以下内容相同:
x match {
case a: SomeType => doSomethingElse()
case _ => doSomething()
}