|
|
1
3
|
|
|
2
2
传递到$bar数组中每个Foo的块绑定到同一个变量
您需要向每个进程发送不同的对象:
|
|
|
3
1
实际情况是,当您存储proc时,每个proc都带有一个对n的引用。即使您超出for循环的范围,对n的引用仍然存在,并且每次执行过程时,它们都会打印n的最终值。这里的问题是,每个迭代都不在自己的范围内。 阿德里安建议做的是把for循环换成range.each block。不同之处在于,每个迭代都有自己的作用域,这就是绑定到proc的范围
|