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