考虑以下对象,
object A {
def setX(x:Int) = {
val x1 = x
}
def getx() = x1
}
如果我在setX中创建val x1,它的作用域将是setX方法。我真正想做的是在方法外部创建一个val,并在方法内部赋值。不使用var是不可能的,还是有其他方法?
请给我一个例子,如果你可以。
这就是val
("readonly")和var
的区别。
So no: not possible.
如果问题(不是期望的解决方案)得到了更多的解释,可能还有其他方法。
快乐编码。
很难说你真正想要实现什么,但通常转换你的setX
方法会奏效:
def setX(x:Int) = {
x
}
val x1 = setX(x)
或者您可以创建一个SetOnce
类,它持有一个值,并允许设置它只一次…