Ich möchte von einer Schließung zurückkommen, wie wenn man eine Break-Anweisung in einer Schleife verwendet.Wie kommt man von einer groovigen Schließung zurück und stoppt seine Ausführung?
Zum Beispiel:
largeListOfElements.each{ element->
if(element == specificElement){
// do some work
return // but this will only leave this iteration and start the next
}
}
In dem obigen if-Anweisung würde ich durch die Liste zu stoppen wie Iterieren und lassen Sie den Verschluss unnötige Wiederholungen zu vermeiden.
Ich habe eine Lösung gesehen, bei der eine Ausnahme innerhalb der Schließung geworfen und draußen erwischt wird, aber ich mag diese Lösung nicht allzu gern.
Gibt es andere Lösungen als den Code zu ändern, um diese Art von Algorithmus zu vermeiden?