我有一个接受*args
哈希的方法,该哈希应该与默认选项哈希合并:
def bt_navbar(*args, &block)
options = {
inverse: false,
fixed: false,
}.with_indifferent_access.merge!(args.extract_options!)
# ...
end
因为我不知道方法的用户是否喜欢使用keys
或者strings
传递选项时,我使用[].with_indifferent_access
.
这是一个好的模式,还是有更好、更成熟的模式?