SORU
10 ŞUBAT 2009, Salı


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
10 ŞUBAT 2009, Salı


İ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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012