我在我的一个scala类中有一个变量,它的值仅在调用特定方法时第一次设置。方法参数值将是该字段的初始值。所以我有这个:scala - 未初始化的变量声明
classX {
private var value: Int= _
private var initialised = false
def f(param: Int) {
if (!initialised){
value = param
initialised = true
}
}
}
是否有更像scala的方式来做到这一点?选择似乎有点太麻烦了......
f()方法的用途是什么?它被称为多次,但在第一次之后被忽略?如果在第一次调用f()之前访问'value'会发生什么? – 2013-05-10 18:44:43
你在做什么基本上是自我管理Option的弱实现。你不喜欢他们什么? – ceyko 2013-05-10 18:45:16
请注意,你的班级根本不是线程安全的! – 2013-05-10 18:48:16