Zweidimensionale Programmiersprachen verfügen häufig über Spiegelbefehle wie /
und \
zum Umleiten des Befehlszeigers auf dem Raster:
>>>>\
v
v
<<<</
In dieser Herausforderung erhalten Sie eine Eingangsrichtung und einen Spiegel und müssen die Ausgangsrichtung bestimmen.
Regeln
Die ankommende Richtung wird als eines der Zeichen NESW
und der Spiegel als entweder /
oder angegeben \
. Sie können diese in beliebiger Reihenfolge erhalten. Sie müssen Großbuchstaben verwenden.
Sie können Eingaben in jedem geeigneten Format vornehmen, einschließlich einer Zeichenfolge mit zwei Zeichen, einer Zeichenfolge mit Trennzeichen zwischen den Zeichen, einem Zeichenpaar in einer Liste oder sogar einem Paar Singleton-Zeichenfolgen. Wenn Sie eine Zeichenfolge mit Trennzeichen verwenden, kann das Trennzeichen keine der Zeichen verwenden NWSE\/
.
Die Ausgabe sollte ein Zeichen NESW
oder eine Einzelzeichenfolge sein.
Sie können ein Programm oder eine Funktion schreiben und eine unserer Standardmethoden zum Empfangen und Bereitstellen von Eingaben verwenden.
Sie können jede Programmiersprache verwenden , beachten Sie jedoch, dass diese Lücken standardmäßig verboten sind.
Das ist Code-Golf , also gewinnt die kürzeste gültige Antwort - gemessen in Bytes .
Testfälle
Es gibt nur 8 mögliche Eingaben, die Sie verarbeiten müssen. Es gibt also keine Entschuldigung, Ihren Code nicht auf allen zu testen:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Wenn es sich bei Ihrer Antwort um eine Funktionsübermittlung handelt, die einen String enthält, müssen Sie \\
den Quellcode natürlich korrekt aufrufen, aber wenn Sie beispielsweise Ihre Eingabe von der Standardeingabe lesen, sollte es sich um eine einzelne Eingabe handeln \
. Mit anderen Worten, wenn Sie die entsprechende Zeichenfolgenlängenfunktion Ihrer Sprache für die Eingabe aufrufen, sollte das Ergebnis immer gleich sein, unabhängig davon, ob die Eingabe /
oder enthält \
.
readline()
kann damit umgehen.