gpt4 book ai didi

ruby-on-rails - 如何将 *args 与默认选项哈希合并?

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:11 25 4
gpt4 key购买 nike

我有一个接受 *args 散列的方法,该散列应与默认选项散列合并:

def bt_navbar(*args, &block)
options = {
inverse: false,
fixed: false,
}.with_indifferent_access.merge!(args.extract_options!)
# ...
end

因为我不知道该方法的使用者在传递选项时是喜欢使用keys还是strings,所以我使用[].with_indifferent_access.

这是一个好的模式,还是有更好、更成熟的模式?

最佳答案

假设您有两个位置参数。这就是我要写的:

def bt_navbar(arg1, arg2, options = {}, &block)
options.reverse_update({
inverse: false,
fixed: false,
})

# body
end
  1. 我不会费心去支持字符串键。
  2. Hash#reverse_update 是 *active_support* 的一部分,但实现您自己的方法很简单(可能使用类似 defaults 的名称?)。

关于ruby-on-rails - 如何将 *args 与默认选项哈希合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407203/

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