假设我有一个方法标题:
def meth(a: val1, b: val2, c: val3)
和meth
内部,我想进行递归调用,并传递所有相同的参数,但更改一个...
也许与此相似,语义上:
meth(_args_.merge(c: newval))
这可能吗?
答案 0 :(得分:1)
不确定是否存在内置方法,但显然可以使用local_variables
和一些eval-fu:
def foo(bar: :baz)
Hash[local_variables.map { |k| [k, eval("#{k}")] }]
end
foo # {:bar=>:baz}
相关问题: