Ho imparato Ruby e Python contemporaneamente e una delle cose che ho notato è che queste 2 lingue sembrano trattare l'ambito in modo diverso. Ecco un esempio di ciò che intendo:Ambito in Ruby e Python
# Python
a = 5
def myfunc():
print a
myfunc() # => Successfully prints 5
# Ruby
a = 5
def myfunc
puts a
end
myfunC# => Throws a "NameError: undefined local variable or method `a' for main:Object"
sembra che blocco DEF può accedere alle variabili dichiarate al di fuori del suo campo di applicazione immediata in Python, ma non in Ruby. Qualcuno può confermare se la mia comprensione è corretta? E se sì, se uno di questi modi di pensare allo scopo è più comune nella programmazione?
Per il lato Python, hai ragione (c'è ovviamente più per l'ambito, ma il tuo fraseggio non ne contraddice). – delnan
Risposta di Python possibile qui: http://stackoverflow.com/questions/370357/python-variable-scope-question –