gpt4 book ai didi

xtend - 如何打破 xtend 中的 foreach 循环?

转载 作者:行者123 更新时间:2023-12-05 01:35:13 24 4
gpt4 key购买 nike

我有以下代码: 即使我不想要它,它也会迭代 arrayList 直到结束。我不知道如何打破它,因为 xtend 没有 break 语句。如果我无法将其转换为 while 循环,那么 xtend 中是否有类似于 java 中的 break 语句的替代方法?

arrayList.forEach [ listElement | if (statusFlag){
if(monitor.canceled){
statusFlag = Status.CANCEL_STATUS
return
}
else{
//do some stuff with listElement
}
}]

最佳答案

你可以试试这样的

arrayList.takeWhile[!monitor.cancelled].forEach[ ... do stuff ...]
if ( monitor.cancelled ) { statusFlag = Status.CANCEL_STATUS }

takeWhile 是延迟执行的,所以它应该按预期工作并在正确的时刻中断(内存可见性允许,我希望 monitor.cancelled 是不稳定的)。

不确定状态标志是如何在这里出现的,您可能还需要在一个或两个闭包中添加检查。

关于xtend - 如何打破 xtend 中的 foreach 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39727226/

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