2012-01-18 14 views

risposta

56

Rubino interprete inizializza una variabile locale con nil quando vede un incarico ad esso. Inizializza la variabile locale prima di eseguire l'espressione di assegnazione o anche quando l'assegnazione non è raggiungibile (come nell'esempio seguente). Ciò significa che il tuo codice inizializza a con nil e quindi l'espressione a = nil verrà valutata al valore di destra.

a = 1 if false 
a.nil? # => true 

La prima espressione assegnazione non viene eseguita, ma a è inizializzato con nil.

Problemi correlati