我通过rubocop运行我的代码。它有一个规则:%w
或者%W
是一个单词数组。
%w(some words here)
['some', 'words', 'here']
为什么要%w
受到青睐['some', 'words', 'here']
?两者似乎是平等的。它只是打字少了,还是为了混淆而试图变得晦涩难懂?
出于以下三个原因:
读取红宝石代码时,处理字符串数组时会遇到%wa的问题。虽然您可以编写简单的[]并实现相同的功能,但%w是“红宝石”方式。
第二点,我认为更重要的原因是%w传达了更具体的含义。用%w创建的数组只能保存字符串,例如不能保存整数。因此,代码指出了该数组将仅包含字符串,从而向程序员展示了其意图的清晰性。
Ruby有一种哲学(正确或错误),即该语言应为程序员提供多种选择来执行相同的操作,以便他们可以执行自己认为正确的事情。因此,如果您不同意ok的规则,则:)以下是Ruby Ruby创始人Yukihiro Matsumoto的采访中的摘录
Ruby继承了Perl的哲学,即拥有不止一种方法来做同一件事。我继承了拉里·沃尔(Larry Wall)的哲学,而拉里·沃尔(Larry Wall)实际上是我的英雄。我想让Ruby用户免费。我想给他们选择的自由。人是不同的。人们选择不同的标准。但是,如果在许多替代方法中有更好的方法,我想通过使其舒适来鼓励这种方法。这就是我试图做的。也许Python代码更具可读性。每个人都可以编写相同样式的Python代码,因此它可能更易于阅读。但是,一个人与另一个人的区别是如此之大,我认为即使仅使用Python,仅提供一种方法也无济于事。如果可能的话,我宁愿提供许多方法,但是如果可能的话,我鼓励或指导用户选择一种更好的方法。-松本行弘(2003)http://www.artima.com/intv/rubyP.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句