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

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009