Como iterar vários enumeres em Ruby?
-
26-09-2019 - |
Pergunta
Eu sei que duas matrizes podem ser fechadas e o resultado pode ser iterado com #Each. Mas como você faz isso com um número desconhecido de enumeres? Digamos
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"
Solução
players.transpose.map {|a| a.join(" ")}
Outras dicas
anand.zip(carlsen, kramnik) do |round| puts round.join(" ") end
Isso vai imprimir:
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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow