Вызов:
Некоторый ascii-art - трудная задача, но она облегчает чтение комментариев к коду, особенно когда код плотный. Задача состоит в том, чтобы сделать простой инструмент, который преобразует комментарии в простой ascii-art со стрелками. Комментарии для изменения отделяются пустыми комментариями.
Например, предположив синтаксис комментариев на Haskell, преобразуйте это:
--
-- Here's a thing
-- Here's another thing
-- The most important thing
-- * * *
--
f x=x+1*x*1*1*0
К этому:
-- /------------< Here's a thing
-- | /-------< Here's another thing
-- | | /-< The most important thing
-- | | |
-- v v v
f x=x+1*x*1*1*0
Правила:
- Ваш ответ может быть либо функцией, либо полной программой
- Вы можете выбрать язык, с которым он работает, заменив «-» двумя или более символами, которые разделяют комментарий на каком-либо языке.
- Если используется другой формат комментария, который требует начального и конечного разделителей, каждая строка переформатированных разделов должна быть правильным комментарием
- Разделы, которые нужно переформатировать, отделяются пустым комментарием "\ n - \ n"
- Помимо добавления новых строк, программа не должна изменять какие-либо входные данные, кроме разделенных разделов
- Комментарий, заполненный произвольным количеством пробелов, может появиться непосредственно перед правильно отформатированным разделом вывода.
- Стандартные лазейки запрещены
Дополнительные примеры:
(input)
--
--
(output)
nothing
(input)
[Code Here]
--
-- important
-- *
--
(output)
[Code Here]
-- /-< important
-- |
-- v
(input)
--
-- Do
-- Re
-- Mi
-- Fa
-- So
-- *****
--
(output)
-- /-----< Do
-- |/----< Re
-- ||/---< Mi
-- |||/--< Fa
-- ||||/-< So
-- |||||
-- vvvvv
Подсчет очков:
- Побеждает несколько байтов
- Представления без объяснений или нетривиальный пример ввода / вывода не будут рассматриваться (хотя я оставлю льготный период, чтобы дать время, чтобы добавить такие)