使用ruby parallel gem并将变量传递给main

时间:2014-06-18 20:09:37

标签: ruby parallel-processing gem

我正在尝试使用Parallel gem加速。 它自己工作,但我有一个问题。 我希望所有的nil都能覆盖测试。 或者Array out有输出。但是结果是nil。 我怎样才能实现呢? 我想有一些建议人员。

require 'parallel'

genes=[[1,nil],[2,nil],[3,nil],[4,nil],[5,nil],[6,nil],[7,nil],[8,nil]]
out =[]

Parallel.each(genes, in_threds: 4) do |g|

g[1] = "test"

out << g
end

p genes
p out

- RESULT --- [[1,nil],[2,nil],[3,nil],[4,nil],[5,nil],[6,nil],[7,nil],[8,nil]] []

1 个答案:

答案 0 :(得分:0)

我注意到你在Parallel命令的“in_threads”部分有一个拼写错误。一旦我用in_threads而不是in_threds尝试它,我得到了我相信你期待的输出。

输出预期:[[1,“test”],[3,“test”],[2,“test”],[4,“test”],[5,“test”],[6, “test”],[8,“test”],[7,“test”]]