2012-03-20 2 views
13

Я думал, что блоки похожи на анонимные функции.Как закончить выполнение блока в Ruby?

Но когда я попытался закончить выполнение блока, используя ключевое слово 'return', я думаю, что он вызвал возврат в области, в которой был определен блок. Это то, как они работают?

Если да, то как я могу закончить выполнение блока таким образом, чтобы он не вызывал возврат во внешней области?

+5

Уже задал вопрос и ответил: http://stackoverflow.com/questions/1402757/how-to-break-out-from-a-ruby-block – mguymon

ответ

21

Ключевое слово «next», а не «break». Разрыв кажется специфичным для метода «каждый».

0

Для выхода из блока или цикла используйте ключевое слово break.

return выйдет из метода.

+11

перерыв от proc-закрытия (LocalJumpError) – HappyDeveloper

Смежные вопросы