我想写一段简短的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不接受参数'会更有启发性。 –
我试图在网页编辑器中找到它,并且您只是发表评论,并且它很棒 –