Project

General

Profile

Feature #18124

Updated by myxoh (Nicolas Klein) over 3 years ago

# **Suggestion:** 
 To implement one shorthand operators that allows you to construct hash into local variables and construct local variables into a hash. 

 # **Context:** 
 Javascript and other languages have a similar feature. It's helpful, and I don't think there's anything stopping Ruby for supporting it. 
 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 
 Ruby also supports destructuring from an array. 

 # **Syntax:** 
 ### Constructor: 
 The constructor shorthand would allow you to create a hash where the symbol key has the same name as the variable. 

 For example: 

 ```ruby 
 local_number = 1  
 user = OStruct.new(name: 'john') 
 hash = %C{ local_var user } 
 ``` 

 would be equivalent to: 
 ```ruby 
 local_number = 1  
 user =    OStruct.new(name: 'john') 
 hash = { local_number: local_number, user: user } 
 ``` 

 The new syntax is based on ruby's existing literal constructors syntax. 

 EDIT: 
 Edited to remove a reference to the destructuring, which is already implemented on Ruby 3 

 


Back