2012-01-18 12 views

Respuesta

56

Rubí intérprete inicializa una variable local con nil cuando ve una asignación a ella. Inicializa la variable local antes de que ejecute la expresión de asignación o incluso cuando la asignación no es alcanzable (como en el ejemplo a continuación). Esto significa que su código inicializa a con nil y luego la expresión a = nil se evaluará al valor de la mano derecha.

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

La primera expresión de asignación no se ejecuta, pero a se inicializa con nil.

Cuestiones relacionadas