вторник, 3 августа 2010 г.

Небольшие успехи

За неделю удалось пару раз присесть за разработку
Наконец то дошли руки до реализации парсера, макет которого я набросал еще весной. До кучи тестово дописал ввод примитивов-точек с экрана.
Как результат - понял что нужно немного перелопатить алгоритм ввода с экрана, ибо все получилось наоборот =) - сперва вводится точка, а потом только выбирается примитив. Короче - неудобно. Буду думать

2 коммент.:

  1. Кстати, интерактивный ввод с экрана - процедура непростая. Я когда делал проект, в котором нужно было размечать какие-то объекты, перемещать их точки, выделять что-то и т.п., пришел к мнению, что лучше всего писать в continuation-passing style. Это значит, что на каждом этапе мы пишем функцию, которая принимает на вход очередное действие пользователя, и что-то делает.
    Т.е., нечто вроде такого:
    canvas.waitForClick(λ p1 => {
    canvas.waitForClick(λ p2 => {
    canvas.addLine(p1, p2);
    })
    })

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

    ОтветитьУдалить
  2. тоже пришел к такому же выводу. сижу сейчас и продумываю детали

    ОтветитьУдалить