Project

General

Profile

Feature #16898

Updated by jackmaple (maple jack) almost 4 years ago

Hello ruby team. 
 Can we modify the syntax of lambda expressions in ruby3? 
 The current definition of lambda expression was added in ruby1.9, but this syntax looks too ugly. 
 ``` ruby 
 lambda {|x| x + 1}     #This looks elegant. 
 #but... 
 -> x {x + 1}      #oh,no 
 -> x do x + 1 end    #this syntax looks too ugly 
 ``` 
 So are we going to abandon some historical issues? To modify -> lambda syntax? 
 It looks like this: 
 ``` ruby 
 x -> x + 1 
 (x,y) -> x + y 
 x -> y -> x + y 
 x -> { 
    x + 1 
    x + 2 
 } 
 ``` 
 I think do..end or braces are only needed when there are multiple lines of code,lambda expression if there is only one statement should not need parentheses or do ... end block. 
 Or can we add a => operator to maintain compatibility? 
 It looks like this: 
 ``` ruby 
 x => x + 1 
 (x,y) => x + y 
 x => y => x + y 
 x => { 
    x + 1 
    x + 2 
 } 
 ``` 
 Thanks.

Back