İsterseniz Dizideki öğenin gerçek dizini bunu
yapabilir
['Seriously', 'Chunky', 'Bacon'].to_enum.with_index.reverse_each do |word, index|
puts "index #{index}: #{word}"
end
Çıktı:
index 2: Bacon
index 1: Chunky
index 0: Seriously
Ayrıca tanımlayabilirsiniz kendi reverse_each_with_index yöntemi
class Array
def reverse_each_with_index &block
to_enum.with_index.reverse_each &block
end
end
['Seriously', 'Chunky', 'Bacon'].reverse_each_with_index do |word, index|
puts "index #{index}: #{word}"
end
kopyalama dizinin olmadan Optimize edilmiş versiyonu
class Array
def reverse_each_with_index &block
(0...length).reverse_each do |i|
block.call self[i], i
end
end
end
Çıktının ne olmasını istediğinizi söyleyebilir misiniz? –
"reverse_each_with_index" adlı bir (non-) varolan yöntemin nasıl kullanılacağını mı yoksa belirli bir işlevi olan bir nesneyi uygulamak mı istiyorsunuz? Sorunuzun farklı bölümleri birini veya diğerini ima eder. – sawa