Actions
Feature #18124
closedHash shorthands (matching constructors functionality in JS)
Feature #18124:
Hash shorthands (matching constructors functionality in JS)
Status:
Closed
Assignee:
-
Target version:
-
Description
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:
local_number = 1
user = OStruct.new(name: 'john')
hash = %C{ local_var user }
would be equivalent to:
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
Actions