加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用带有默认值的选项哈希作为ruby中的参数是一种很好的干净方法

发布时间:2020-12-16 19:08:00 所属栏目:百科 来源:网络整理
导读:假设我想要一个像这样调用的方法: tiger = create_tiger( :num_stripes = 12,:max_speed = 43.2 ) tiger.num_stripes # will be 12 其中一些选项具有默认值: tiger = create_tiger( :max_speed = 43.2 ) tiger.num_stripes # will have some default value
假设我想要一个像这样调用的方法:
tiger = create_tiger( :num_stripes => 12,:max_speed => 43.2 )
 tiger.num_stripes # will be 12

其中一些选项具有默认值:

tiger = create_tiger( :max_speed => 43.2 )
 tiger.num_stripes # will have some default value

在方法实现中实现默认行为的一种很好的惯用ruby方法是什么?

解决方法

如果您使用的是Rails(不仅仅是普通的Ruby),那么稍微短一些的方法就是
def foo(options = {})
  options.reverse_merge! { ... defaults ... }
end

这样做的另一个好处是可以让你更干净地做多行:

def foo(options = {})
  options.reverse_merge!(
    :some_default => true,:other_default => 5
  )
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读