我想寫一段簡短的scala代碼來理解無括號的方法和postfixOps。
這裏是我的代碼:scala:錯誤:遞歸值需要類型
import scala.language.postfixOps
object Parentheses {
def main(args: Array[String]) {
val person = new Person("Tom", 10);
val tomAge = person getAge
println(tomAge)
}
class Person(val name: String, val age: Int) {
def getAge = {
age
}
}
}
然而,儘管編譯它,我有一個問題說:
error: recursive value tomAge needs type
println(tomAge)
如果我更換方法調用person getAge
到person.getAge
,程序將正常運行。
那麼爲什麼函數調用person getAge
失敗?
這是一個神奇的解釋!感謝分享,我看了你分享的文檔,非常有幫助! –
謝謝,@Damian Lattenero。這是一個相當棘手的「異常」。如果下面的'println'代碼行沒有引用'tomAge',那麼錯誤消息'error:Int不接受參數'會更有啓發性。 –
我試圖在網頁編輯器中找到它,並且您只是發表評論,並且它很棒 –