我是Scala的初学者,我尝试制作一个类并使用它,该类具有变量( var )和一些处理过程(在 def 中)。我写如下课:
certutil -p password -exportPFX my [serialnumber] C:\cert.PFX
我想初始化class Example() {
var ExampleVar0 = 0
var ExampleVar1 = 0
def ExampleProcessing(_arg0: Int, _arg1: Int) : (Int, Int) = {
ExampleVar0 = _arg0 + 1
ExampleVar1 = _arg1 - 1
(ExampleVar0*2, ExampleVar1/2)
}
}
并保留和更新值。我在其他课程中使用该课程;
ExampleVar*
result0和result1均为零,似乎总是通过var result0
var result1
val exp = Example()
exp.ExampleProcessing(5, 6)(result0, result1)
的语句以零写入。我检查了var(var ExampleVar0 = 0
)的值,然后始终为零。我可能对var的初始化有误解。
能否请您指出我的误解在哪里以及如何解决?
答案 0 :(得分:1)
您似乎正在使用result0
和result1
作为方法参数,看起来不正确。试试这个:
val exp = Example()
val (result0, result1) = exp.ExampleProcessing(5, 6)
在这种情况下,var
似乎无关紧要,但我通常会发出警告,最好避免使用var
并使用不可变的数据结构。