gpt4 book ai didi

scala - 如何递增传递给 Scala 函数的整数变量?

转载 作者:行者123 更新时间:2023-12-04 12:09:51 25 4
gpt4 key购买 nike

我在函数外声明了一个变量,如下所示:

var s: Int = 0

像这样通过它:
def function(s: Int): Boolean={

s += 1

return true

}

但在我的一生中,错误行不会在“s + =”下消失。我尝试了一切。顺便说一句,我是 Scala 的新手。

最佳答案

首先,我重申一下我的警告:下面的解决方案既晦涩又低效 ,如果可能的话,尽量坚持使用 val是。

implicit class MutableInt(var value: Int) {
def inc() = { value+=1 }
}

def function(s: MutableInt): Boolean={
s.inc() // parentheses here to denote that method has side effects
return true
}

这是正在运行的代码:
scala> val x: MutableInt = 0 
x: MutableInt = MutableInt@44e70ff

scala> function(x)
res0: Boolean = true

scala> x.value
res1: Int = 1

关于scala - 如何递增传递给 Scala 函数的整数变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15705585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com