Oui, vous pouvez
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) }
some_array[offset..-1].each_with_index{|item, index| some_func(item, index+offset) }
some_array[offset..-1].each_with_index{|item, index| index+=offset; some_func(item, index) }
UPD
Je dois également remarquer que si le décalage est supérieur à la taille de votre tableau, il y aura une erreur. Car:
some_array[1000,-1] => nil
nil.each_with_index => Error 'undefined method `each_with_index' for nil:NilClass'
Que pouvons-nous faire ici:
(some_array[offset..-1]||[]).each_with_index{|item, index| some_func(item, index) }
Ou pour prévalider l'offset:
offset = 1000
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) } if offset <= some_array.size
C'est un peu hacky
UPD 2
Dans la mesure où vous avez mis à jour votre question et que vous n'avez plus besoin de décalage de tableau, mais de décalage d'index, la solution @sawa fonctionnera bien pour vous