Как вернуться из заводного замыкания и остановить его выполнение?
Я хотел бы вернуться из замыкания, как если бы я использовал оператор break в цикле.
Например:
largeListOfElements.each{ element->
if(element == specificElement){
// do some work
return // but this will only leave this iteration and start the next
}
}
В приведенном выше операторе if я хотел бы прекратить итерацию по списку и оставить закрытие, чтобы избежать ненужных итераций.
Я видел решение, в котором исключение выбрасывалось внутри замыкания и оказывалось снаружи, но я не слишком люблю это решение.
Есть ли какие-то решения для этого, кроме изменения кода, чтобы избежать такого рода алгоритма?