From: "mame (Yusuke Endoh)" Date: 2012-04-25T12:37:33+09:00 Subject: [ruby-core:44613] [ruby-trunk - Feature #6354][Assigned] Remove escape (break/return/redo/next support) from class/module scope Issue #6354 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned I don't object, but just curious. By removing it, what advantage will we get? -- Yusuke Endoh ---------------------------------------- Feature #6354: Remove escape (break/return/redo/next support) from class/module scope https://bugs.ruby-lang.org/issues/6354#change-26184 Author: ko1 (Koichi Sasada) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: Let's remove global escape (break/return/redo/next support) from class/module scope. Yes, it introduces incompatibility. However, anyone use it? I think the following examples are evil (difficult to understand). # examples: 1.times{ class C break # break from 1.times end } 1.times{ class C module M break # break from 1.times end end } 3.times{|n| p n # repeat print 0 class C redo end } ->{ class C return return from outer lambda block end }.call ->{ proc{ class C return # return from outer lambda (not proc) block end }.call }.call etc, etc. -- http://bugs.ruby-lang.org/