вторник, 7 августа 2012 г.

Новые задачи и ловушки



Пишу как-то код для пользовательского интерфейса на Ruby/wxRuby и прихожу к выводу, что при редактировании списка очень удобно использовать машину состояния или таблицы решений для того, чтобы активировать и деактивировать те или иные кнопки по текущему состоянию

     Но вот ведь проблема: код, который активирует только эти кнопки легко написать за 30 минут. Но расширить его не просто, да и отладить сложно.

Надо бы придумать как можно использовать таблицу решений. Но её еще нужно будет реализовать. Найденная библиотека не очень устраивает, ввиду использования строковых определителей, и нет возможности вызывать каллбэки (лямбды или проки).

Пришлось думать о том, чтобы создать свою реализацию. Но как инициализировать таблицу решений? Склоняюсь к двум способам: DSL или базовые конструкции Ruby.

Комментариев нет: