gpt4 book ai didi

ruby - 有没有办法在不重新指定每个参数的情况下使用 ruby​​ 2 中的关键字参数进行递归?

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:02 25 4
gpt4 key购买 nike

假设我有一个方法头:

def meth(a: val1, b: val2, c: val3)

meth 中,我想进行递归调用,并传递所有相同的参数,但改变一个..

语义上可能与此类似:

meth(_args_.merge(c: newval))

这可能吗?

最佳答案

不确定是否存在这样做的内置方法,但显然可以使用 local_variables 和一些 eval-fu:

def foo(bar: :baz)
Hash[local_variables.map { |k| [k, eval("#{k}")] }]
end

foo # {:bar=>:baz}

相关问题:

How do I dynamically create a local variable in Ruby?

关于ruby - 有没有办法在不重新指定每个参数的情况下使用 ruby​​ 2 中的关键字参数进行递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21243455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com