У3.2 Многоуровневый Redo
Упражнения
У3.1 Небольшая интерактивная система (программистский проект)
Этот небольшой программистский проект является лучшим способом проверки понимания тем этой лекции и ОО-техники в целом.
Напишите текстовый редактор, ориентированный на работу со строками, поддерживающий следующие операции:
· p: печать введенного текста;
· : передвигает курсор к следующей строке, если она есть (используйте код l, если это более удобно);
· передвигает курсор к предыдущей строке, если она есть (используйте код h, если это более удобно);
· i: вставляет новую строку после позиции курсора.
· d: удаляет строку в позиции курсора;
· u: откат последней операции, если она не была Undo; если же это Undo, то выполняется повтор redo.
Можно добавить новые команды или спроектировать более привлекательный интерфейс, но во всех случаях следует создать законченную, работающую систему. (Возможно, вы сразу начнете с улучшений, описанных в следующем упражнении.)
Дополните одноуровневую схему предыдущего упражнения переопределением смысла операции отката u:
· u: откат последней операции, отличной от Undo и Redo.
Добавьте операцию повтора Redo:
· r: повтор последней операции, если она применима.