我正在浏览一些Rails源
代码,并发现
# File vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb,line 129
129: def target!
130: @target * ''
131: end
*“做什么?是乘以一个空字符串吗?你为什么要这么做
这是
一个奇怪的语法.这些是等效的
>> [1,2,3] * 'joiner'
=> "1joiner2joiner3"
>> [1,3].join 'joiner'
=> "1joiner2joiner3"
所以在这种情况下,它将@target的所有条目连接到一个字符串中,条目之间没有任何内容.
注意:如果你做了像[1,3] * 3(使用int而不是str),你会得到三个连接的数组副本.