我在scala編譯器中遇到以下錯誤。我在吉拉找不到這個問題。因此,我決定先問清楚,如果這是一個已知的問題:懶惰val的scala編譯器錯誤
我開始用以下兩種方法:
def getName: String = getString match {
case None => return ""
case Some(str) => return str
}
def getString: Option[String] = Some("abc")
然後,我改變了第一種方法
lazy val getName: String = getString match {
case None => return ""
case Some(str) => return str
}
不幸的是,我忘了刪除返回語句。在這種情況下,Scala編譯器應爲郵件「的方法定義之外的回報」停下來,但它確實是:
[ant:scalac] error: uncaught exception during compilation: java.lang.NullPointerException
[ant:scalac] java.lang.NullPointerException
[ant:scalac] at scala.reflect.internal.Trees$class.Select(Trees.scala:1066)
[ant:scalac] at scala.reflect.internal.SymbolTable.Select(SymbolTable.scala:13)
它看起來像一個錯誤。不是嗎?
你使用哪個Scala版本?你能否提供一個可編輯的例子來產生錯誤? – sschaef 2013-04-09 11:02:30
我的Scala版本是2.10.1。這裏的例子是[鏈接](https://github.com/macjankowski/scalatests.git) – rarry 2013-04-09 11:46:14
好的,這是一個錯誤。只需在https://issues.scala-lang.org/secure/Dashboard.jspa – sschaef 2013-04-09 12:41:37