2010-08-31 11 views
5

Ho cercato di usare il metodo step() su Data oggetto per recuperare i precedenti 2 date dalla data corrente nel seguente modo:Ruby-uso corretto del metodo Date.step()

date_d.step(2, step=-2){|d| 
    puts d   
    } 

dove 2 è il limite e il passo è il numero di passi indietro o avanti.

ho fatto in conformità con la Documentazione dato qui: Date.step()

Questo frammento di codice entra in un ciclo infinito e poi emette la data non-stop (indietro)

Non sembra a essere abbastanza documentazione per questo metodo e non sto trovando soluzioni online pure.

Per favore aiutatemi con questo.

risposta

5

il parametro limite è la data in cui il ciclo non arresta il numero di giorni o iterazioni. così per esempio

date_d = Date.parse('2010-08-01') 
date_d.step(date_d - 4 , step=-2){|d| 
    puts d   
} 

uscita volontà

2010-08-01 
2010-07-30 
2010-07-28 
+0

Grazie. Darò una prova – dkris

Problemi correlati