cot*_*eyr 1 ruby coding-style rubocop
我通过rubocop运行我的代码.它有一个规则: %w或%W一组单词.
%w(some words here)
['some', 'words', 'here']
Run Code Online (Sandbox Code Playgroud)
为什么要%w受到青睐['some', 'words', 'here']?两者似乎都是平等的.它只是减少打字,还是我们为了混淆而试图变得神秘?
原因有三:
在阅读ruby代码时,在处理字符串数组时会遇到%wa.虽然你可以写一个简单的[]并实现相同的东西%w是'红宝石方式'.
第二个,我认为更重要的原因是%w传达了更具体的含义.使用%w创建的数组只能保存字符串,例如它不能保存整数.所以代码通过指出这个数组只会有字符串来向程序员显示其意图更清晰.
Ruby有一种哲学(正确或错误地),语言应该为程序员提供多种选择来做同样的事情,这样他们就可以做他们认为正确的事情.所以如果你不同意那条规则那就好了:)这是一篇采访Ruby Yukihiro Matsumoto创作者的片段
Ruby继承了Perl的理念,即有多种方法可以做同样的事情.我从拉里沃尔那里继承了这个哲学,实际上他是我的英雄.我想让Ruby用户免费.我想给他们自由选择.人与众不同.人们选择不同的标准.但如果在许多替代方案中有更好的方法,我想通过让它变得舒适来鼓励这种方式.这就是我试图做的事情.也许Python代码更具可读性.每个人都可以编写相同风格的Python代码,因此可能更容易阅读.但是,从一个人到另一个人之间的区别是如此之大,我认为即使你使用Python,也只提供一种方法.如果可能的话,我宁愿提供很多方法,但如果可能的话,鼓励或引导用户选择更好的方式.- Yukihiro Matsumoto 2003 http://www.artima.com/intv/rubyP.html
如果你不熟悉快捷方式,它只是"神秘".
我从来没有相信它值得强制执行,但是你可以关掉这个特别的警告而不用担心它是否如此滚动.
语法实际上更清晰了:
%w(some words here)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |