Как повторять несколько перечисленных перечисленных лиц в Ruby?

StackOverflow https://stackoverflow.com/questions/2615237

  •  26-09-2019
  •  | 
  •  

Вопрос

Я знаю, что две массивы могут быть застегнутыми, и результат может быть истерена с помощью #each. Но как вы это делаете с неизвестным количеством перечисленных лиц? Давайте скажем

anand = %w(1-0 0.5-0.5 0.5-0.5 1.0)
carlsen = %w(0-1 0.5-0.5 0.5-0.5 1.0)
kramnik = %w(0.5-0.5 0.5-0.5 0.5-0.5 1.0)
players= [anand, carlsen, kramnik]
#something smart

players.each{|round|puts round} #first line should be  "1-0 0-1 0.5-0.5" 
Это было полезно?

Решение

players.transpose.map {|a| a.join(" ")}

Другие советы

anand.zip(carlsen, kramnik) do |round| puts round.join(" ") end

Это будет печатать:

1-0 0-1 0.5-0.5
0.5-0.5 0.5-0.5 0.5-0.5
0.5-0.5 0.5-0.5 0.5-0.5
1.0 1.0 1.0
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top