我对定义块局部变量的良好风格感到困惑。选择是:
选择A:
method_that_calls_block { |v, w| puts v, w }
选项B:
method_that_calls_block { |v; w| puts v, w }
当我希望本地块具有默认值时,混乱会更加复杂。我感到困惑的选择是:
选项C:
method_that_calls_block { |v, w = 1| puts v, w }
选项D:
method_that_calls_block { |v, w: 1| puts v, w }
是否有关于如何定义块局部变量的约定?
附:也似乎是;
当我需要为块局部变量分配默认值时,语法不起作用!奇怪的。
选项 B 无效。 正如 @matt 所指出的 - 这是一个有效的(尽管晦涩)语法(请参见此处:如何在 Ruby 中编写内联块来包含局部变量范围? https://stackoverflow.com/q/22789497/214790)
选项 C 给出默认值w
,这是一个常规值,而选项 D 是默认值的语法关键字参数 http://brainspec.com/blog/2012/10/08/keyword-arguments-ruby-2-0/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)