From: "Haase, Konstantin" Date: 2011-07-20T23:58:35+09:00 Subject: [ruby-core:38267] Re: [Ruby 1.9 - Feature #5054] Compress a sequence of ends If you use upper case for every other e, counting gets easier: eEeEeNd. Konstantin On Jul 20, 2011, at 16:47 , Ralph Corderoy wrote: > > Issue #5054 has been updated by Ralph Corderoy. > > > Nothing seems to ensure the author will bother doing e___e___end and have the e's align with the start of the blocks though. Some may just do e_e_end or eeend leaving the reader to tediously check by counting. We want something easy for the author to type, and easy for all the readers to verify is correct. > ---------------------------------------- > Feature #5054: Compress a sequence of ends > http://redmine.ruby-lang.org/issues/5054 > > Author: Yasushi ANDO > Status: Assigned > Priority: Normal > Assignee: Yasushi ANDO > Category: Joke > 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 >