parser

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

 

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

Что делает в опреаторах unhandled_exception_debug?

Sumo 21.11.2015 15:23 / 21.11.2015 15:24

По сути оператор — это функция в глобальном пространстве имен MAIN. Пространства имен должны вести себя логично. Т.е. локальное пространство всегда имеет приоритет над глобальным. Так устроены объекты, методы и пр. К глобальному пространству всегда есть доступ через MAIN:call. И надо раз и навсегда закрепить этот порядок.

У меня это не вылезало, поскольку все раскидано по классам, но меня совершенно не радует перспектива, когда пользователь PF`а написав безобидный оператор порушит работу половины библиотеки.

Для клинических случаев можно ввести опцию аналогично $STRICT-VARS(true), но сделать ее опцией по-умолчанию. Т.е. если надо сделать приоритет операторов выше методов, то программист должен явно в конфигурационном файле прописать ^HIGH_OPERATORS_PRIORITY(true). Ну и руки, конечно, отрывать за использование этой опции в новом коде. :)