对“<<”所做的事感兴趣

碰到了这段代码。

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

这条线做什么?

 @setups << block 

对“<<”有什么兴趣。

手册说它是双class的操作员,但他在这里?

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

因此,在您使用块调用setup时的特定情况下,从块生成的Proc对象存储在@setups

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

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

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

这是手动输入 。

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

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