Begin.rescue

in un blocco begin rescue ho:
lines.each do |row|
begin
practice_date = parse_date_string(row[3])
practice_new_date = parse_date_string(row[3])
inspection_date = parse_date_string(row[7])
intervention_date = parse_date_string(row[9])
remove_date = parse_date_string(row[13])
notification_date = parse_date_string(row[14])
expiry_date = parse_date_string(row[15])
rescue
# se la data non e’ valida inserisci un valore nullo
remove_date = notification_date = expiry_date = inspection_date =
nil
intervention_date = practice_date = practice_new_date_date = nil

Nel begin, al primo errore va alla rescue?
Nel senso, se practice_date non viene valorizzato perche’ row[3]
contiene una stringa non valida, in questo caso mi mette tutti a nil e
non valorizza le successive variabili?
Se e’ cosi’ devo fare un begin rescue per ogni variabile?

2011/5/19 Mauro [email protected]:

rescue

se la data non e’ valida inserisci un valore nullo

remove_date = notification_date = expiry_date = inspection_date = nil
intervention_date = practice_date = practice_new_date_date = nil

Nel begin, al primo errore va alla rescue?

Si, assolutamente! non avrebbe troppo senso terminare il blocco visto
che c’e’ stata una eccezione

Nel senso, se practice_date non viene valorizzato perche’ row[3]
contiene una stringa non valida, in questo caso mi mette tutti a nil e
non valorizza le successive variabili?
Se e’ cosi’ devo fare un begin rescue per ogni variabile?

Si ma la puoi scrivere in modo compatto cosi’ (per ogni riga)

a = parse_date(val) rescue nil

(se proprio non te ne frega niente del fatto che hai delle date non
parsabili nell’input!)

Ciao

2011/5/19 Luca De Marinis [email protected]:

Si ma la puoi scrivere in modo compatto cosi’ (per ogni riga)

a = parse_date(val) rescue nil

Quante cose si imparano.