Я изучаю Ruby и Python одновременно, и одна из вещей, которые я заметила, заключается в том, что эти 2 языка, похоже, рассматривают область действия по-разному. Вот пример того, что я имею в виду:Область применения Ruby и 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"
Оказывается, что Защита блок может получить доступ к переменному, объявленным вне непосредственной сферы в Python, но не в Ruby. Может ли кто-нибудь подтвердить правильность моего понимания? И если да, то является ли один из этих способов мышления масштаба более распространенным в программировании?
Для стороны Python вы правы (очевидно, что вам нужно больше внимания, но ваша формулировка не противоречит ни одному из них). – delnan
Возможный ответ Python здесь: http://stackoverflow.com/questions/370357/python-variable-scope-question –