【发布时间】:2015-02-15 20:29:14
【问题描述】:
如果我取消注释指示的行,下面的代码将无法编译。编译器抱怨:“需要稳定的标识符”。
val Empty = Stream.empty
val a = Stream.range(0, 5)
a match {
// case Stream.empty => println("nope") <-- does not work
case Empty => println("compiles") <-- works
case _ => println("ok")
}
如果我首先将 Stream.empty 分配给值 Empty,它会起作用,但是如果没有这样的 hack,你就无法在这样一个基本值上进行模式匹配,这感觉很奇怪。
我错过了什么吗?
【问题讨论】: