Завершается ли цикл, когда он уточняет оператор возврата? даже если значение равно нулю?
с квалификацией любого из ответных элементов сделать разрыв петли отличным
Ответы (1)
Ваш вопрос слишком расплывчатый, чтобы на него можно было ответить с какой-либо определенностью. Однако если бы я рискнул предположить, я готов поспорить, что вы имеете в виду управляющие операторы внутри цикла '.each'?
Если да, краткий ответ: нет, return (или break) не завершает цикл. Единственный способ сделать это - выбросить исключение в цикле а ля:
try{
(1..10).each{ n->
println n
if (n == 5) throw new Exception()
}
}
catch(Exception){}
Но это полная мерзость. Вместо этого используйте цикл for или while.
См. также: возвращение после закрытия
Если я ошибаюсь, возможно, вы могли бы опубликовать какой-нибудь код, иллюстрирующий вашу тему?
person
Northover
schedule
16.11.2010