parser

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

 

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

Ну что ж, было бы неплохо услышать комментарии PAF'а, а пока что...

Вячеслав 27.05.2006 00:44

... придется переделать проверку типов.
Раньше у меня было так:
#public my_abstract(string base_path, string name, hash child_hash){}
#public my_abstract(string base_path, string name, hash child_hash, my_abstract parent){}
@create[base_path;name;child_hash;parent]
^if($base_path is 'string' && $name is 'string' && $child_hash is 'hash'
    && ($parent is 'void' || $parent is 'my_abstract')
){...}{^throw[;;]}
Ну а теперь будет так:
^if(def $base_path && $base_path is 'string' 
    && def $name && $name is 'string' && $child_hash is 'hash'
    && (!def $parent || $parent is 'my_abstract')
){...}{^throw[;;]}
Немного громоздско, однако, потомки скажут спасибо :)