gpt4 book ai didi

ruby - 如何将命名参数放入哈希中?

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:13 24 4
gpt4 key购买 nike

我想为方法命名参数,以便调用者清楚 API,但方法的实现需要散列中的命名参数。所以我有这个:

def my_method(required_param, named_param_1: nil, named_param_2: nil)
named_params = {
named_param_1: named_param_1,
named_param_2: named_param_2
}

# do something with the named params
end

这行得通,但我必须在很多地方这样做,而且我宁愿有一些助手可以动态地将命名参数放入散列中。我一直没能找到办法做到这一点。关于如何实现这一点有什么想法吗?

最佳答案

def my_method(required_param, named_param_1: nil, named_param_2: nil)
named_params = method(__method__).parameters.each_with_object({}) do |p,h|
h[p[1]] = eval(p[1].to_s) if p[0] == :key
end
p named_params # {:named_param_1=>"hello", :named_param_2=>"world"}

# do something with the named params
end

my_method( 'foo', named_param_1: 'hello', named_param_2: 'world' )

关于ruby - 如何将命名参数放入哈希中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998417/

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