gpt4 book ai didi

scala:错误:递归值需要类型

转载 作者:行者123 更新时间:2023-12-02 08:13:13 25 4
gpt4 key购买 nike

我正在尝试编写一小段 scala 代码来理解无括号方法和 postfixOps。
这是我的代码:

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 失败了吗?

最佳答案

应谨慎使用后缀表示法 - 请参阅 中缀表示法后缀表示法 部分 here .

This style is unsafe, and should not be used. Since semicolons are optional, the compiler will attempt to treat it as an infix method if it can, potentially taking a term from the next line.

如果您将 ; 附加到 val tomAge = person getAge,您的代码将正常工作(带有编译器警告)。

关于scala:错误:递归值需要类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com