Цикл рельсов с бесконечными значениями для установки цвета фона

У меня следующий цикл

У меня есть все данные в @clients

[1,2,3,4,5].each { |rows|
 if rows % 2 == 0
 sheet1.row(rows).default_format = bg_color1
 else
 sheet1.row(rows).default_format = bg_color2
 end
}

Но у меня более 100 строк. Как я могу подсчитать @clients и использовать его в каждом цикле, как указано выше

2 ответа

Это должно работать

@clients.each_with_index { |rows,i|
 if i % 2 == 0
 sheet1.row(i).default_format = bg_color1
 else
 sheet1.row(i).default_format = bg_color2
 end
}


@clients.each_with_index do |client, index|
 if index % 2 == 0
 sheet1.row(index+1).default_format = bg_color1
 else
 sheet1.row(index+1).default_format = bg_color2
 end
end

each_with_index выполняет each_with_index через массив и предоставляет переменную для отслеживания текущей позиции внутри этого массива.

licensed under cc by-sa 3.0 with attribution.