它在 Java 中的样子:
public void perform() {
outer: while (someCondition) {
while(someCollection.nonEmpty() && anotherCondition) {
if (otherCondition)
break outer;
else doSomething();
}
try {
doSomethingWithException();
} catch (Exception e) {
break; // breaks outer loop
}
doSomethingAnother();
}
}
有人可以建议 Scala 中的替代方案吗?
我已经了解 util.control.Breaks,但是还有其他选择吗?
最佳答案
您可以将代码重写为如下所示:
var continueWhileCondition = true
while (someCondition && continueWhileCondition) {
while (someOtherCondition) {
if (someThirdCondition) {
continueWhileCondition = false
}
}
if (continueWhileCondition) {
//here do try/catch
}
}
只需添加会中断 while 的附加条件。 但这不是 FP 解决方案,你应该真正使用递归。
关于java - 具有相同性能的内循环(易碎)替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60936903/