Actions
Feature #15286
closedProposal: Add Kernel.#expand(*args)
Feature #15286:
Proposal: Add Kernel.#expand(*args)
Status:
Rejected
Assignee:
-
Target version:
-
Description
This is a suggestion for Hash shorthand.
Kernel.#expand(*args)
is expand local variable
and method
to Hash.
*args
is method or local variable names.
Example¶
def meth
"meth"
end
a, b, c = 1, 2, 3
# #expand args is local variable or method names
# Expand to { a: a, b: b: meth: meth }
p expand(:a, :b, :meth)
# => {:a=>1, :b=>2, :meth=>"meth"}
# Error: `expand': undefined method `hoge' for main:Object (NoMethodError)
p expand(:hoge)
What can be expanded,
- local variable
- method
and, If there are duplicate names, prioritize local variable.
def meth
"meth"
end
meth = 42
p expand(:meth)
# => {:meth=>42}
pull request: https://github.com/ruby/ruby/pull/2006
Actions