parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 30.04.2011 15:12

да, выглядит не совсем логично. просто вызов GET_DEFAULT происходит при обращении к необъявленным переменным, а не неопределённым. в случае [a], эта переменная уже есть в scope локальных переменных.


да и вообще, открою страшную тайну: на самом деле сейчас locals это совсем НЕ то-же самое, что и объявление всех переменных, используемых в методе, локальными.

locals говорит, что в случае ЗАПИСИ в неопределённую переменную эту переменную надо автоматически сделать локальной.

т.е. если есть переменная _класса_, у метода написано [locals], и переменной с таким именем в методе ничего не присваивается, то при обращении к ней произойдёт обращение к переменной класса.