什么是正确的使用情况%w
:
percent_notation = %w(first second third)
explicit = ["first", "second", "third"]
用于创建数组?对于大小为 501 的数组,创建时间的差异约为。.04 毫秒。这是一个显着的差异,会导致我们使用显式的百分比符号吗?
除了写得更快之外,还有什么理由使用其中一个吗?正确的 ruby 风格是否需要一个版本而不是另一个版本?
你想多了这个问题。
%w
当它比编写常规数组定义更容易或更视觉上不同时,我会使用它。
这是程序员的选择,通常归结为一个问题:哪个更容易维护?
在定义单个单词时,使用它更有意义%w
:
ary = %w[a b c foo bar]
比它使用:
ary = ['a', 'b', 'c', 'foo', 'bar']
但是,如果您有嵌入的空格,则需要维护它使用普通数组定义变得更具可读性:
ary = ['a b c', 'foo bar']
相比:
ary = %w[a\ b\ c foo\ bar]
正如我在代码审查期间告诉我的团队的那样,在编写代码时查看代码并观察你的大脑为破译它所做的工作。使用更容易流入并且更容易在代码方面维护的任何一种。我们只写一次,但它可能会被维护很多次,所以让那些关注我们的人更容易。
数组定义的创建时间绝对没有差异。两者都会在 Ruby 开始解释代码时被解析,然后才开始解析。即使存在差异,您也无法使用基准测试它并且它会发生一次,那么它会对脚本的运行时间产生什么影响?
如果您是代码高尔夫球手,那么它在字符方面会更短。但它的可读性要低得多,如果你在一个团队中开发,你很可能会迫使其他开发人员浪费时间来查看它的功能。