Issue #5054 has been updated by kazuyuki kohno.
I propose to use '----', because good looking.
eg:
<pre><code>
module MyModule
class MyClass
def my_method
10.times do
if rand < 0.5
p :small
----
</code></pre>
or:
<pre><code>
module MyModule
class MyClass
def my_method
10.times do
if rand < 0.5
p :small
----
def my_method2
end
end
</code></pre>
----------------------------------------
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