Actions
Feature #13630
closed:[] method should accept block in nice syntax
Feature #13630:
:[] method should accept block in nice syntax
Status:
Closed
Assignee:
-
Target version:
-
Description
Actions
Added by khoan (khoa nguyen) over 9 years ago. Updated almost 9 years ago.
Description
I agree. I always wondered about this too.
I did not make a suggestion like this because I suspect that one reason may be a parser issue, as otherwise it would most likely have been done already.
In particular for elements without any arguments like:
Or more verbose to use your example:
module Bam
def self.[](bam=42)
yield bam
end
end
Bam.[] { |b| puts b } # => 42
Bam[] { |b| puts b } # => SyntaxError: (irb):14: syntax error, unexpected { arg, expecting end-of-input
Only difference here between failure and success is one lonely '.'. I am not sure if it is technically
possible to get rid of the '.', but if it would be possible, that would be great. The '.' visually
disturbs me when I see [] ... but not at other places, it's weird. :D
Edit: Ok, my example was not good but I guess the difference between .[] and [] can be seen which is the main point.
The trunk accepts a block after [] now.
We looked at this at a developer meeting today and confirmed that this is already done.
And now mruby does too.
Matz.