parser

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

 

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

Парсер, что логично, не дает смешивать пространства имен...

Sumo 08.01.2009 17:59

... поэтому есть два варианта работы с "глобальными данными":

Вариант 1 (правильный).

Все, что используется внутри класса должно явно "прийти" в конструктор и должно быть присвоено локальной переменной класса:
@CLASS
SomeClass

@create[aAuth]
  $auth[$aAuth]

@menu[]
  $auth.name
а в auto.p должен быть код который инициализирует необходимые классы:
@USE
Auth.p
SomeClass.p

@auto[]
  $auth[^Auth::create[]]
  $sc[^SomeClass::create[$auth]]

@main[]
  ^sc.menu[]
Вариант 2 (плохой)

Глобальные переменные, определенные в auto.p, являются членами неявного класса MAIN, а значит обращаться к его методам в классе можно с помощью конструкции $MAIN:auth.