Ich habe einen Datumsbereich, den ich gerne rückwärts durchlaufen möchte. Geben Sie folgendes, wie würde ich dies erreichen, der Standard Range
Operator scheint nicht richtig zu funktionieren.Wie durchlaufe ich einen Datumsbereich rückwärts?
>> sd = Date.parse('2010-03-01')
=> Mon, 01 Mar 2010
>> ed = Date.parse('2010-03-05')
=> Fri, 05 Mar 2010
>> (sd..ed).to_a
=> [Mon, 01 Mar 2010, Tue, 02 Mar 2010, Wed, 03 Mar 2010, Thu, 04 Mar 2010, Fri, 05 Mar 2010]
>> (ed..sd).to_a
=> []
wie Sie sehen können, arbeitet der Bereich Bediener richtig zu Ende beginnen bilden, aber nicht von einem Ende zu starten.
Wenn Sie faul sind, können Sie auch einfach .collect.reverse, die unter den meisten Bedingungen genauso gut funktioniert. – tadman
mit der Ausnahme, dass dann zuerst das gesamte Array erstellt und dann umgekehrt werden muss. upto und downto sind Enumeratoren. –