From: "Haase, Konstantin" Date: 2011-07-20T04:31:26+09:00 Subject: [ruby-core:38208] Re: [Ruby 1.9 - Feature #5054] Compress a sequence of ends Apart from this being rather unreadable in my opinion, there has not been a single proposal that doesn't seem extremely ridiculous to me. I mean, "eeeeend", "e5nd", "fuuu", really? "endmodule" seems to be the least ridiculous, but is that really an advantage over "end end end"? Also, it won't help in many cases, since the module nesting will usually only be one or two levels, and you will only skip one or to ends, I mean "enddo" will only close the last do... Konstantin On Jul 19, 2011, at 21:13 , David Aaron Fendley wrote: > > Issue #5054 has been updated by David Aaron Fendley. > > > I think the phrase "fold up" is more descriptive of what this is attempting to do. Thus I propose: > > > module MyModule > class MyClass > def my_method > 10.times do > if rand < 0.5 > p :small > fuuuuu > ---------------------------------------- > Feature #5054: Compress a sequence of ends > http://redmine.ruby-lang.org/issues/5054 > > Author: ANDO Yasushi ANDO > Status: Open > Priority: Normal > Assignee: > Category: > Target version: > > > Though as matz said at rubykaigi2011 ruby is a quite good language, many people hate a long sequence of `end' like this: > > module MyModule > class MyClass > def my_method > 10.times do > if rand < 0.5 > p :small > end > end > end > end > end > > So, I'd like to propose introducing a special keyword, en(n+)d. Using this keyword, we can rewrite the above example like this: > > module MyModule > class MyClass > def my_method > 10.times do > if rand < 0.5 > p :small > ennnnnd > > I know matz's already rejected a python-style block. He wrote: > >> it works badly with >> * tab/space mixture >> * templates, e.g. eRuby >> * expression with code chunk, e.g lambdas and blocks > http://www.ruby-forum.com/topic/108457 > > These bad things won't occur by introducing en(n+)d. > > Some implementations already exists. > > JRuby > - https://gist.github.com/1088363 > > CRuby > - http://www.atdot.net/sp/raw/kn9iol > - http://d.hatena.ne.jp/ku-ma-me/20110718/p1 > > Thanks for your consideration. > > > -- > http://redmine.ruby-lang.org >