可以在匹配大小写中使用Scala案例对象吗?
例如,这并不能正常工作:
abstract class A
case object B extends A
object something {
val b = B
b match { case _:B => println("success") }
}
not found: type B
b match { case _:B => println("success") }
^
Run Code Online (Sandbox Code Playgroud)
Lee*_*Lee 12
您需要指定B.type:
object something {
val b = B
b match { case _:B.type => println("success") }
}
Run Code Online (Sandbox Code Playgroud)
糟糕,似乎这也编译:
abstract class A
case object B extends A
object something {
val b = B
b match { case B => println("success") }
}
Run Code Online (Sandbox Code Playgroud)
Scala小提琴:Scala案例对象可用于匹配案例
| 归档时间: |
|
| 查看次数: |
3469 次 |
| 最近记录: |