Ruby sayacı her biri için otomatik?
Ruby insanlar kötü Ruby kodumu gülerler seni tanıyorum:
i=0
for blah in blahs
puts i.to_s " " blah
i =1
end
-Her bir kullanmak istiyorum ve bir sayaç... orada bunu yapmanın daha iyi bir yolu var mı?
Not:Eğer hoşnutsuzluk bir dizi ya da karma olup olmadığını bilmiyorum, ama blahs[i]
yapmaktan çok daha seksi yapmaz. Ayrıca Ruby yazmak için nasıl bilmek istiyorum.
Düzenleme:Teknik olarak, Matt ve Squeegy cevabı ilk sırada yer aldı, ama en iyi cevap o kadar ÇOK puan etrafa biraz paradoja veriyorum. Ayrıca onun cevabı hala ilgili olan sürümleri hakkında not (benim gibi Ubuntu 8.04 Ruby 1.8.6 kullanarak) vardı.
Düzenleme:Gereken çok daha kısa ve öz olan puts "#{i} #{blah}"
kullanmış.
CEVAP
İnsanların söylediği gibi kullanabilirsiniz
each_with_index
ama eğer istediğiniz endeksleri ile bir yineleyici farklı "her" (örneğin, eğer sen de istersen harita ile bir dizin veya bir şey gibi) bir arada sıralayıcısını ile each_with_index yöntemi, ya da sadece kullanın with_index:
blahs.each_with_index.map { |blah, index| something(blah, index)}
blahs.map.with_index { |blah, index| something(blah, index) }
Bu ruby 1.8.7 ve 1.9 dan yapabileceğin bir şey.
Dinamik hücre düzenleri için UİTableVi...
Nasıl Ruby alt veya üst durumda bir di...
Nasıl Ruby rastgele bir sayı almak içi...
Neden Ruby Hariç => e `kurtarmak iç...
Nasıl en iyi Ruby rastgele bir dize ol...