parser

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

 

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

Как работает @auto у CLASS'ов, из доки и ручками не совсем понял.

Andrey 26.11.2014 02:54

Из текста документации не совсем понял "когда" срабатывает @auto
объявленный как метод в классе.

Т.е. написано что при "загрузке". При загрузке с диска? Или вообще при первом его объявлении как класса.

Из доки не явно, но похоже что если создать "подгружаемый" класс, который будет использовать базовый (у которого есть auto)
то этот новый (дочерний) класс auto отрабатывать не будет - у меня не отрабатывает.

А по ощущению вроде как должно...

Пример:
@CLASS
BaseClass

@create[]

@somedo[]

@auto[]
^if(def $MAIN:i){
   ^MAIN.i.inc[]
}{
   $MAIN:i(0)
}



@CLASS
ChildClass

@BASE
BaseClass

#----

@main[]

$i(0)

$obj1[^BaseClass::create[]]
$obj2[^ChildClass::create[]]

^obj1.somedo[]
^obj2.somedo[]

i=$i
# выдаст i=1, т.е. auto отработает только 1 раз?