gpt4 book ai didi

Scala Do While 循环未结束

转载 作者:行者123 更新时间:2023-12-04 20:41:45 31 4
gpt4 key购买 nike

我是 scala 的新手,我正在尝试实现一个 do while 循环,但我似乎无法让它停止。我不确定我做错了什么。如果有人可以帮助我,那就太好了。它不是我所知道的最好的循环,但我是这门语言的新手。下面是我的代码:

def mnuQuestionLast(f: (String) => (String, Int)) ={
var dataInput = true

do {
print("Enter 1 to Add Another 0 to Exit > ")
var dataInput1 = f(readLine)

if (dataInput1 == 0){
dataInput == false
} else {
println{"Do the work"}
}
} while(dataInput == true)
}

最佳答案

您正在比较元组类型(在本例中为 Tuple2[String, Int])与 0,这是有效的,因为 ==定义在 AnyRef 上,但仔细想想并没有多大意义。您应该查看元组的第二个元素:

if (dataInput1._2 == 0)

或者如果你想稍微增强可读性,你可以解构元组:

val (line, num) = f(readLine)
if (num == 0)

此外,您正在比较 dataInputfalse (dataInput == false) 而不是分配 false:

dataInput = false

关于Scala Do While 循环未结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41165607/

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