Как перестроить лист Excel с RubyGem?
Я использую Axlsx для создания листов Excel.
Положение имени листа становится неправильным после применения Ruby Thread.
например:
я хочу порядок листов таким образом
sheet 1
sheet 2
sheet 3
но после применения рубиновой нити ее поступает
sheet 2
sheet 1
sheet 3
как сохранить лист в порядке?
1 ответ
Это будет работать на основе вашего примера RubyFiddle
arr = (1..10).map do |i|
Thread.new{
sleep(rand(0)/10.0)
Thread.current["mycount"] = count
count += 1
}
end
arr.each do |t|
t.join
puts "#{t['mycount']}"
end
#24
#28
#29
#26
#23
#22
#25
#21
#27
#20
arr.sort_by{|t| t["mycount"]}.each do |t|
t.join
puts "#{t['mycount']}"
end
#20
#21
#22
#23
#24
#25
#26
#27
#28
#29
Или еще лучше, хотя, вероятно, не работает для вашего полного решения экспорта электронных таблиц
arr.sort_by(&:value).each(&:join)