Scala:类中的var初始化

时间:2020-05-15 04:33:20

标签: scala

我是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的初始化有误解。

能否请您指出我的误解在哪里以及如何解决?

1 个答案:

答案 0 :(得分:1)

您似乎正在使用result0result1作为方法参数,看起来不正确。试试这个:

val exp = Example()
val (result0, result1) = exp.ExampleProcessing(5, 6)

在这种情况下,var似乎无关紧要,但我通常会发出警告,最好避免使用var并使用不可变的数据结构。