Mi chiedo, perché è visibile a
?Variabili locali all'interno dell'istruzione if
if true
puts 'true'
else
puts 'false'
a = 123
end
puts a # no error
# or
# my_hash = {key: a}
# puts my_hash # :key => nil
Ma questo causa un errore, anche se ci saranno 'vero' mostrato
if true
puts 'true'
else
puts 'false'
a = 123
end
puts a2 # boooooom
Vedi risposta accettata su [questa domanda] (http://stackoverflow.com/questions/12928050/why-does-ruby-seem-to-hoist-variable-declarations-from-inside-a-case-statement- e? rq = 1 #) Il valore " –