SORU
15 Ocak 2010, Cuma


Üzerinde yineleme ve Dizi ters&; ruby "" biz bunun bir nedeni var mı?

Geriye yakut Aralığı kullanarak ve her yineleme için çalıştım. Bu şekilde

(4..0).each do |i|
  puts i
end
==> 4..0

0..4'e yineleme sayıları yazar. R = 4..0 ok gibi görünüyor diğer Aralığı, r.ilk == 4, r.== 0 son. Yukarıda inşa etmek bana çok garip görünüyor, beklenen sonuç üretmez. Eğer bunun bir sebebi nedir? Bu davranış makul olduğu durumlar nelerdir?

CEVAP
15 Ocak 2010, Cuma


Sadece bir aralık: bir şeyin içeriği ile başlamak ve sonunda, tanımlanmamış. "Yineleme" içinde bir dizi gerçekten genel bir durumda mantıklı değil. Sana nasıl örnek, "" aralığında iki tarih tarafından üretilen. yineleme için düşünün Yineleme gündüz misin? ay? yıl? hafta? İyi tanımlanmış değil. IMO, ileri aralıkları için izin aslında kullanışlı bir yöntem olarak görülmelidir.

Eğer geriye doğru böyle bir dizi üzerinde yineleme yapmak istiyorsanız, her zaman downto kullanabilirsiniz:

$ r = 10..6
=> 10..6

$ (r.first).downto(r.last).each { |i| puts i }
10
9
8
7
6

Burada zor hem de yineleme izin ve sürekli ters aralıkları ile başa çıkmak için neden başkalarından some more thoughts.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011