Как перебрать несколько перечислимых в ruby? - PullRequest
4 голосов
/ 11 апреля 2010

Я знаю, что два массива могут быть заархивированы, и результат может быть повторен с #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" 

Ответы [ 2 ]

9 голосов
/ 11 апреля 2010
players.transpose.map {|a| a.join(" ")}
4 голосов
/ 11 апреля 2010
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
...