Ho un intervallo di date che mi piacerebbe essere in grado di scorrere al contrario. Dare il seguente, come potrei realizzare questo, l'operatore standard Range
non sembra funzionare correttamente.Come faccio a passare da un intervallo di date all'indietro?
>> 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
=> []
come si può vedere, l'operatore di intervallo funziona correttamente dall'inizio alla fine, ma non dalla fine all'inizio.
Se sei pigro puoi anche usare semplicemente .collect.reverse che funziona altrettanto bene nella maggior parte delle circostanze. – tadman
eccetto che poi deve prima costruire l'intero array e poi invertirlo. in alto e in basso sono gli enumeratori. –