在scala中声明一个全局变量
可以用这种方式声明全局变量吗 如果运行此代码段,我将遇到一个错误在scala中声明一个全局变量,scala,Scala,可以用这种方式声明全局变量吗 如果运行此代码段,我将遇到一个错误 object Test { val value -> error on this line for declaration issue def run() { value = ... } def main(args: Array[String]) { run() } 提前谢谢。不,那是不可能的。您应该这样做: object Test { val value = ... } 由于您的
object Test {
val value -> error on this line for declaration issue
def run() {
value = ...
}
def main(args: Array[String]) {
run()
}
提前谢谢。不,那是不可能的。您应该这样做:
object Test {
val value = ...
}
由于您的
run()
函数不带参数,因此值的内容也可以在不带参数的情况下计算。理论上,您可以使用特性进行计算。
我不确定这是你需要的
它看起来是这样的:
trait MyTestTrait {
val value: String
}
object MyTest extends MyTestTrait {
val value = "yo!"
def run = println(value)
}
您可以将值声明为var
@orid作为var它可以保持全局?var和val都在对象范围内。区别在于val是不可变的,而var是可变的。publicvar
是Scala惯用特性之一。