Ваш пример кода неполный, так как он не иллюстрирует, что вам действительно нужно.
По сути, ваш код выполняет следующее:
(array.length / 3).times{fire_the_event}
Но я сомневаюсь, что это то, что вы действительноneed.
В любом случае, взгляните на этот вопрос SO: Как выбрать каждый n-й элемент в массиве?
Если вам нужно пройти через каждый элемент,используйте with_index
:
array.each_with_index do |element, index|
# perform something with each element
# but fire the event only with every third:
fire_the_event if index % 3 == 0
end