4

遇到了这段代码。

def setup(&block)
  @setups << block
end

这条线有什么作用?

@setups << block

对“<<”的作用感兴趣。

手册上说是双班制的操作员,但他在这里?

4

3 回答 3

8

对于数组<<是 append 方法。它将一个项目添加到数组的末尾。

因此,在您的特定情况下,当您使用块调用时setupProc由该块制成的对象存储在@setups.

注意:正如sbeam在他的评论中指出的那样,因为<<它是一种方法,它可以根据调用它的对象的类型来做不同的事情,例如字符串的连接、整数的位移等。

请参阅“ ary << obj → ary ” 文档。

于 2012-09-20T11:15:10.250 回答
1

它通过将元素推到它的末尾来构建一个数组。

这是手动输入

于 2012-09-20T11:14:53.280 回答
1

<<在 Ruby 中通常用于表示追加-添加到列表或连接到字符串。

Ruby 使用它的原因尚不清楚,但可能是因为库在很大程度上区分了更改对象和返回已更改对象(更改对象的方法往往有!后缀)。这样,<<是改变对象的对应物+

于 2012-09-20T11:16:04.517 回答