Herausforderung:
Etwas ASCII-Kunst ist mühsam, erleichtert aber das Lesen von Codekommentaren, insbesondere wenn der Code dicht ist. Die Herausforderung besteht darin, ein einfaches Tool zu erstellen, das Kommentare mit Pfeilen in einfache ASCII-Grafiken umwandelt. Die zu ändernden Kommentare werden durch leere Kommentare begrenzt.
Wenn Sie beispielsweise die Haskell-Kommentarsyntax annehmen, konvertieren Sie Folgendes:
--
-- Here's a thing
-- Here's another thing
-- The most important thing
-- * * *
--
f x=x+1*x*1*1*0
Dazu:
-- /------------< Here's a thing
-- | /-------< Here's another thing
-- | | /-< The most important thing
-- | | |
-- v v v
f x=x+1*x*1*1*0
Regeln:
- Ihre Antwort kann entweder eine Funktion oder ein vollständiges Programm sein
- Sie können die Sprache auswählen, mit der gearbeitet werden soll, indem Sie das "-" durch zwei oder mehr Zeichen ersetzen, die einen Kommentar in einer bestimmten Sprache abgrenzen
- Wenn Sie ein anderes Kommentarformat verwenden, für das Anfangs- und Endbegrenzer erforderlich sind, muss jede Zeile der neu formatierten Abschnitte ein richtiger Kommentar sein
- Die neu zu formatierenden Abschnitte werden durch den leeren Kommentar "\ n - \ n" begrenzt.
- Abgesehen vom Hinzufügen von Zeilenumbrüchen darf das Programm keine der Eingaben außer den begrenzten Abschnitten ändern
- Ein Kommentar, der mit einer beliebigen Anzahl von Leerzeichen gefüllt ist, kann unmittelbar vor einem ordnungsgemäß formatierten Ausgabeabschnitt stehen
- Standardlücken sind nicht zulässig
Zusätzliche Beispiele:
(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
Wertung:
- Wenigste Bytes gewinnt
- Einsendungen ohne Erklärungen oder nicht triviale Beispieleingabe / -ausgabe werden nicht berücksichtigt (obwohl ich eine Nachfrist einhalten werde, um Zeit für das Hinzufügen solcher Beispiele zu haben).