使用带有默认值的选项哈希作为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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |