有谁能帮我做这个练习吗?我已经经历过无数次了,我不明白怎么会有42次的结果。我特别和瓦尔·bp做斗争。如果您能看到代码,您将不胜感激。非常感谢!
object Scope {
var a : Int = 1
var b : Int = 3
var c : Int = 0
def m1(b : Int) : Int = {
a = 5
c += a + b
b + 3
}
def m2(a : Int, d : Int) : Int = {
b = c
val bp = m1(a - d)
c += b + bp
b + c
}
def main(args : Array[String]) : Unit = {
b = m1(a)
a = m2(b,a)
c += a
println(c)
}
} 发布于 2022-10-11 06:17:48
总之,这是一段非常糟糕的代码,没有人会像这样编写真正的Scala代码。放弃使用这一练习的任何课程,找出某种功能课程(例如,发明语言的人的这门课 )
如果您真的想理解这段代码,那么使用像IntelliJ IDEA这样的支持Scala的工具就容易多了。首先重命名函数参数a和b,这样就不会有重复的名称来混淆事情。然后使用IntelliJ IDEA中的调试器逐步遍历代码,并查看每个值在执行时是如何变化的。
https://stackoverflow.com/questions/74018203
复制相似问题