Относительно исходного вопроса, для перебора массивов неравного длины, где вы хотите, чтобы значения циклически повторялись, вы можете использовать
[1,2,3,4,5,6].zip([7,8,9].cycle)
, а Ruby даст вам
[[1, 7], [2, 8], [3, 9], [4, 7], [5, 8], [6, 9]]
Это спасет вас от значений nil
, которые вы получите, просто используя zip