Issue #8361 has been updated by nobu (Nobuyoshi Nakada).


It conflicts with ternary expressions, and symbol literals.

You should abandon use of colon and brackets.
----------------------------------------
Feature #8361: Alternative syntax for block parameter
https://bugs.ruby-lang.org/issues/8361#change-39117

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/