parser

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

 

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

Я думал это канонический вызов, а это работает только когда переопределён? Сплошная магия и нычки, конечно.

andylars 28.06.2015 13:20 / 28.06.2015 13:25

Дело в том, что я пишу код методов класса заранее, и не надеясь на однозначный доступ к глобальному окружению по короткому имени в будущем.

Это возникло в результате того, что однажды я словил проблему доступа к переменной, находящейся в auto.p (MAIN) из класса, при этом она не была перекрыта, и помогло "каноническое обращение",
$MAIN:glob_var

После этого случая, я стараюсь более прилежно обращаться с видимостью, поэтому

к переменным внутри класса, я всегда обращаюсь, как $self.VarObj

локальные переменные в рамках всего класса для обращения извне - изолировать в Parser'e нельзя, поэтому
я просто делаю _var чтобы случайно не наступить не туда.

тоже касается и локальных внутри методов

Я не говорю, что это проблема, и использовать одноименные переменные с названиями встроенных классов, но когда ожидаешь
как бы единообразности хотя бы на уровне синтаксиса вызовов, а
тут сплошная магия.

Просто вопрос:

Почему $MAIN:obj.field[value] <- работает

а $MAIN:obj:field[value] <- не работает только потому, что исторически так сложилось и синтаксис так не умеет?