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

  • gamingbits

    gamingbits

    2 Mayıs 2006
  • joshsnice

    joshsnice

    28 Kasım 2006
  • New Scientist

    New Scientis

    27 Kasım 2006