比红宝石少两倍

Kal*_*ram 4 ruby

可能重复:
对"<<"所做的事感兴趣

我读过Ruby类的继承:什么是`<<`(double less than)?.我知道为实例创建方法(继承类型)会有所帮助.但我遇到了一个代码:

threads << Thread.new(page) { |myPage|
h = Net::HTTP.new(myPage, 80)
puts "Fetching: #{myPage}"
resp, data = h.get('/', nil )
puts "Got #{myPage}:  #{resp.message}"
}
Run Code Online (Sandbox Code Playgroud)

在哪里threads是一个数组.有人可以<<用对象而不是类来解释它的用法吗?

mea*_*gar 10

<<运营商也可以被重载基本上是做任何事情,因为它只是一个方法.类可以自由地为<<运算符定义自己的行为.在这种情况下,threads是一个数组或类似数组的对象,典型的数组语义<<用作别名push.代码只是将一个新函数附加Thread到一个名为的数组上threads.