Noch eine krasse Abzocke einer Abzocke einer Abzocke . Geht und stimmt denen zu!
Wenn Sie es akzeptieren möchten, müssen Sie ein Programm / eine Funktion schreiben, das / die die Zeichenfolgeneingabe / das Argument ausgibt / zurückgibt. Der schwierige Teil ist, dass, wenn ich Ihren Quellcode umkehre, die Ausgabe auch umgekehrt werden muss.
Der Einfachheit halber können Sie davon ausgehen, dass die Eingabe immer eine einzelne Zeichenfolge ist, die nur ASCII-Buchstaben (az), Ziffern (0-9) und Leerzeichen enthält.
Sollte eine Eingabe von mindestens 8 Zeichen unterstützen (länger als 8 ist nicht erforderlich).
Das Verhalten bei Leereingabe ist undefiniert.
Beispiele
Nehmen wir an, Ihr Quellcode ist ABC
und seine Eingabe ist xyz
. Wenn ich CBA
stattdessen schreibe und es laufen lasse, muss die Ausgabe sein zyx
.
Nehmen wir an, Ihr Quellcode ist ABC
und seine Eingabe ist 96
. Wenn ich CBA
stattdessen schreibe und es laufen lasse, muss die Ausgabe sein 69
.
Ein einzelner führender oder nachfolgender Leerraum ist zulässig, solange er sowohl für normale als auch für umgekehrte Ausgaben konsistent ist.
quelle
[...s]
Konvertiert in ein Array, das umgekehrt und dann als Zeichenfolge wieder zusammengefügt wird..join``
- werfen Sie einen Blick auf Tagged TemplatesAPL (Dyalog Unicode) ,
32 Byte SBCS-1 Byte dank dzaima
Probieren Sie es online!
⊂
Schließen Sie das Argument ein, um es als Singleton zu behandeln:[1,2,3]
→[[1,2,3]]
⌽
rückwärts (hat keine Auswirkung auf Singletons):[[1,2,3]]
→[[1,2,3]]
Ein umschlossenes Array wird mit einem führenden und einem nachfolgenden Leerzeichen gedruckt.
! enilno ti yrT
⌽
rückwärts (hat keine Auswirkung auf Singletons):[1,2,3]
→[3,2,1]
⊂
anbei:[1,2,3]
→[[1,2,3]]
Ein umschlossenes Array wird mit einem führenden und einem nachfolgenden Leerzeichen gedruckt.
quelle
Bash , 9 Bytes
Rückgängig gemacht:
Probieren Sie es online! ! enilno ti yrT
quelle
cat
.Fass ,
32 BytesNoch kein TIO, da dies den neuesten Interpreter verwendet
Erklärt
Heh. Das ist richtig. Keg kann auch diesen 2-Byte-Antworten standhalten (und dabei reines, einfaches ASCII verwenden)!
Altes Programm
Probieren Sie es online! Oder ! Enilno ti yrT
Weil zwei das 3-Byte-Spiel spielen können. Deshalb. (Habe ich schon erwähnt, dass das 3 Bytes
UTF8ASCII sind ?)quelle
Ruby , 21 Bytes
Probieren Sie es online!
! enilno ti yrT
quelle
Holzkohle , 2 Bytes
Probieren Sie es online! Erläuterung:
S
druckt implizit die explizite Eingabe und←
bewegt den Cursor nach links (keine Auswirkung auf die endgültige Ausgabe). Rückgängig gemacht:Probieren Sie es online!
←
Ändert die Richtung des impliziten Ausdrucks der expliziten EingabeS
und kehrt die Ausgabe um.quelle
Haskell , 11 Bytes
Probieren Sie es online! Versuchen Sie es umgekehrt!
quelle
Stapel Katzen
-m
, 4 BytesProbieren Sie es online!
Versuchen Sie es umgekehrt!
Dies funktioniert für alle Eingaben, die keine Nullbytes enthalten.
Erläuterung
Wow, ich habe den Punkt erreicht, an dem ich diese von Hand schreibe ...
Das volle Programm ist
|>I|I<|
.Wie bei der Lösung der vorherigen Herausforderung
|
tut das gesamte Programm nichts, da der Befehl center nichts tut.Das umgekehrte Programm ist dann
|I>|<I|
.Wenn wir dieses Umkehrprogramm verwenden, ohne dass
-m
wir diesmal noch eine funktionierende Lösung erhalten, entstehen interessanterweise nur die zusätzlichen Bytes, die durch das-m
Spiegeln des Codes entstehen.Stapel Katzen , 7 Bytes
Probieren Sie es online!
Versuchen Sie es umgekehrt!
Erläuterung
Die umgekehrte Version dieses Programms ist
|I>|<I|
die gleiche wie oben, so dass wir das ignorieren können. Die nicht umgekehrte Version unterscheidet sich jedoch. Da der<>
now-Punkt in die andere Richtung zeigt, tut der center-Befehl nichts, sodass das Programm zu einer Katze wird:Und damit
>I|
genau die erste Hälfte des Programms rückgängig machen.quelle
05AB1E , 2 Bytes
Versuchen Sie es online oder versuchen Sie es online umgekehrt .
Erläuterung:
quelle
Pyth,
53 Bytesz_k
-2 Bytes durch Realisieren der Zeilenumbrüche
Erläuterung:
Umgekehrte Erklärung:
quelle
Japt , 2 Bytes
Versuchen Sie es | Rückgängig gemacht
quelle
Cubix , 19 Bytes
Probieren Sie es online!
Cubified
A^
Hole alle Eingaben und betrete die Schleifeo?
Ausgabe der TOS von Stack und Test@
Beenden, wenn der Test negativ ist/;^
zurück reflektieren, TOS platzieren und Schleife erneut betretenAlle anderen Befehle werden vermieden.
Rückgängig gemacht
Probieren Sie es online!
Cubified
ABq
Holen Sie sich alle Eingaben, kehren Sie um und legen Sie die TOS auf den Boden des Stapelso$?|?
TOS ausgeben, Test überspringen und erneut testen@
halt wenn test wenn negativWUq
Spur wechseln, U-Turn auf Drop-to-Start der Schleifequelle
Python 3 , 27 Bytes
Probieren Sie es online!
! enilno ti yrT
quelle
Pip , 4 Bytes
Probieren Sie es online! ! enilno ti yrT
Nutzt die Tatsache, dass
RV
es sich um den umgekehrten Operator handelt, es sich jedochVR
um eine undefinierte Variable handelt. Beide Versionen geben den Wert ihres letzten Ausdrucks aus. in der Standardversion ist dasa
(mit dem erstena
und demVR
Sein No-Ops), während in der umgekehrten Version das istRVa
(mit dem erstena
Sein No-Op).quelle
Wolfram Language (Mathematica) , 16 Byte
Probieren Sie es online!
Umgekehrt :
Probieren Sie es online!
Nimmt eine Liste von Zeichen als Eingabe. Verwenden Sie für die Zeichenfolgeeingabe
StringReverse
.quelle
Perl 5
-p
, 11 BytesDas Offensichtliche.
quelle
Turing Machine Language ,
1432414321 ByteProbieren Sie es online!
Versuchen Sie es umgekehrt!
Ich habe diese Seite benutzt , um sie umzukehren.
quelle
MathGolf , 3 Bytes
Erläuterung:
Rückgängig gemacht:
quelle
Aufdringlich , 4 Bytes
Probieren Sie es online aus: Vorwärts , Rückwärts
Einfache Implementierung mit dem Kommentarzeichen
\
. Im Weiterleitungsprogramm wird"
die Eingabe gedruckt und der Rest ist ein Kommentar. in Rückwärts Programm@
kehrt die Eingabe vor dem Druck.Wir könnten alternativ ersetzen
\
mitc
, die die Eingabe von dem Stapel löschen würde.quelle
Kotlin , 15 Bytes
Meine erste Kotlin-Antwort und viel kürzer als das Java-Äquivalent!
Probieren Sie es online!
Rückgängig gemacht:
! enilno ti yrT
quelle
s//)(desrever.s
. Ich halte es jedoch für üblich, in Kotlin (oder zumindest in Java) mindestens ein vollständiges Lambda bereitzustellen. Also{it}//})(desrever.ti{
sollte so etwas den Trick machen.J , 7 Bytes
Rückgängig gemacht:
Probieren Sie es online!
Jonahs Kommentar zu Adams APL-Antwort hat mich dazu gebracht, die Herausforderung anzunehmen. Es war in der Tat ziemlich schwer, weil die Beugungen
.
und:
immer an das Symbol auf der linken Seite anhaften und eine Sohle|
(abstrakter Wert) nicht mit Zeichenfolgen zufrieden ist.Wie diese funktionieren
Grundsätzlich handelt es sich um eine zufällige Mischung von No-Ops, die über verschiedene Anschlüsse verbunden sind.
Diese Antwort ist ein Byte kürzer als der triviale Kommentar-Missbrauch:
J , 8 Bytes
Rückgängig gemacht:
Probieren Sie es online!
In J ist die Inline-Kommentarmarkierung
NB.
länger als jede andere Sprache, die ich kenne.quelle
Gaia , 2 Bytes
Probieren Sie es online!
Versuchen Sie es umgekehrt!
Sehr ähnliche Lösung zu anderen Golfsprachen.
Erläuterung
Umkehren
quelle
Gelee , 2 Bytes
Probieren Sie es online!
Rückgängig gemacht!
Erläuterung
Erklärung (umgekehrt)
Sieben weitere Zwei-Bytes
Ṛṛ ḷU ḷṚ Uȧ Ṛȧ ȯU ȯṚ
quelle
Brain-Flak , 13 Bytes
Probieren Sie es online!
Weiterleiten: Nur ein Kommentar, damit er nur die Eingabe ausgibt
Rückgängig gemacht:
Probieren Sie es online!
Verschiebe alles auf den zweiten Stapel, damit es umgekehrt wird.
quelle
CJam , 7 Bytes
Langweilige Version mit Kommentaren. Wenn CJam im Hintergrund fehlschlagen würde, hätte ich bereits 3 Byte in 2 Fragen speichern können!
quelle
Stax , 2 Bytes
Führen Sie es umgekehrt aus
quelle
PHP , 27 Bytes
Probieren Sie es online!
Probieren Sie es online!
quelle
C (gcc) , 56 Bytes
Nichts Besonderes. Hätte man
puts()
dann aber nachgestellte Leerzeichen verwendet, wäre zwischen den beiden Varianten nicht konsistent gewesen.Probieren Sie es online!
Rückgängig gemacht!
quelle
W , 2 Bytes
So ziemlich das Gleiche wie die 05AB1E-Lösung.
Erläuterung
noitanalpxE
quelle