Привет, чертяки!
Мы возобновили практику домашних заданий. Как и раньше, к следующей встрече будет предложена простенькая задачка, победитель будет объявлен на встрече 26 января.
Задача: в дереве ревизий CVS надо найти последнюю ревизию в данной ветке.
Например, на рисунке справа есть две ветки: «experiment1» и «experiment2». В ветке «experiment1» последняя ревизия — 1.3.2.4, а в ветке «experiment2» — 1.3.4.1
Поскольку пример из жизни, то уже есть две реализации этой задачи.
Первая реализация — короткая, но некорректная. Она не учитывает случай, когда ревизия была удалена (см. картинку).
Вторая реализация — корректная, но громоздкая.
Домашние задание состоит в том, чтобы написать корректно и лаконично. Кто как может. Кому как нравится. Можно использовать любой язык программирования. Приветствуются методы и языки, о которых шла речь на двух последних встречах (Функциональное программирование, Python, C#, Haskell, Scala, Scratch, Alice 🙂 ).
Ответы и вопросы можно писать здесь в комментариях или по мылу andrei punkt solntsev koer gmail punkt com. Если вы не хотите, чтобы ваше решение показывали кому-либо, укажите это в письме.
Удачи!