From: "alexeymuranov (Alexey Muranov)" Date: 2013-05-03T16:25:05+09:00 Subject: [ruby-core:54753] [ruby-trunk - Feature #8361] Alternative syntax for block parameter Issue #8361 has been updated by alexeymuranov (Alexey Muranov). =begin You are right, there is a problem. It is similar to the problem with hashes: def f(h); end f {1=>2} # => SyntaxError: unexpected =>, expecting '}' I will think more about it. =end ---------------------------------------- Feature #8361: Alternative syntax for block parameter https://bugs.ruby-lang.org/issues/8361#change-39098 Author: alexeymuranov (Alexey Muranov) Status: Feedback Priority: Normal Assignee: Category: syntax Target version: =begin I propose an alternative syntax for block parameters: p = lambda [x] { # do whatever you like with x here, but be sure to return the result } instead of p = lambda { |x| # ... } This would be consistent with the syntax of procedure call: (({p[a]})). Also, compare: a_bunch.each [element] do # ... end with: a_bunch.each do |element| # ... end =end -- http://bugs.ruby-lang.org/