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

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007