Когда вам нужно передать аргументы `Thread.new`?
Локальные переменные, определенные вне потока, кажутся видимыми изнутри, так что следующие два использованияThread.new
похоже одинаковые
a = :foo
Thread.new{puts a} # => :foo
Thread.new(a){|a| puts a} # => :foo
документ дает пример:
arr = []
a, b, c = 1, 2, 3
Thread.new(a,b,c){|d, e, f| arr < d < e < f}.join
arr #=> [1, 2, 3]