LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Ну правильно, в нередуцированном виде вы замените словарь таблицей регулярных выражений, динамически компилирующийся из конфигурационного файла; хэндлеры подсосете из плагинов; в сами хендлеры будете скармливать динамически типизированный контекст aka параметры. Интерпрайзно 👎

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

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

это не спор в автором топика, которому и словаря хватит, а спор с длинным if-else в мейне.

Исходная версия alysnix, :

Ну правильно, в нередуцированном виде вы замените словарь таблицей регулярных выражений, динамически компилирующийся из конфигурационного файла; хэндлеры подсосете из плагинов; в сами хендлеры будете скармливать динамически типизированный контекст aka параметры. Интерпрайзно 👎

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

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

это не спор в автором топика, которому и словаря хватит, а спор с длинным if-else в мейне.