Stax , 11 Bytes (Ergebnis von 4)
'''cc'~~'dd
Online ausführen und debuggen!
Es ist mir eine Ehre, die erste (chronologisch) Antwort auf diese Herausforderung mit einer Punktzahl größer oder gleich 4 zu haben. Vielleicht kann die Punktzahl sogar noch höher sein.
In Stax, einen Stringliteral , die aus einem einzigen Zeichen bestehen geschrieben , mit '
, so '', 'c, 'd, '~
sind alle Stringliterale. Die entsprechenden Befehle für c
d
und ~
Mittel duplizieren den oberen Rand des Hauptstapels, legen den oberen Rand des Hauptstapels ab und legen den oberen Rand des Hauptstapels ab und drücken auf den Eingabestapel. Für diese Herausforderung hat Eingabestapel nicht ausgegeben beeinflussen und ist nicht wichtig, daher können wir sagen , d
und ~
sind identisch.
Erläuterung
Es ist am besten, den Code in mehrere Teile zu unterteilen und diese getrennt zu betrachten.
Wenn es nicht manipuliert wird, werden '''cc
ein Literal '
und ein Literal c
auf den Hauptstapel verschoben und der obere Stapel wird dupliziert, so dass der Stapel (von unten nach unten) ist c,c,'
.
Wenn nicht manipuliert, wird '~~
das Literal ~
verschoben und dann geöffnet (und zum Eingabestapel verschoben), was im Grunde genommen ein No-Op für den Hauptstapel ist.
Wenn nicht manipuliert, 'dd
drückt er das Literal d
und öffnet es, ein weiteres No-Op für den Hauptstapel.
Da am Ende des Programms keine explizite Ausgabe erfolgt, wird implizit die Oberseite des Hauptstapels ausgedruckt.
Wenn das Programm so ausgeführt wird, wie es ist, ist der letzte Stapel noch vorhanden c,c,'
und wird ausgegeben c
.
Wenn der erste Teil wird ''cc
, dann haben wir ein Literal '
und zwei Kopieranweisungen, der letzte Stapel wird ',','
. Vorausgesetzt, die beiden anderen Teile sind No-Op, wird das Ergebnis sein '
.
Wenn der erste Teil wird '''c
, ist das Ergebnis im Grunde das gleiche wie dasjenige ohne Manipulation, aber das c
wird nicht dupliziert. So wird der Stapel sein c,'
. Nach zwei No-Ops ist die Spitze des Stapels c
.
So können wir im ersten Teil Strahlung nachweisen.
Der zweite Teil und der dritte Teil funktionieren genauso. Ich werde den dritten Teil als Beispiel nehmen.
Wenn der dritte Teil manipuliert wird, bleiben die ersten beiden Teile wie sie sind und der Stapel, bevor der dritte Teil ausgeführt wird c,c,'
Wenn der dritte Teil wird 'd
, wird ein Literal d
an die Spitze des Hauptstapels verschoben, und es wird nichts weiter unternommen. Das oberste Ende des Hauptstapels ist nun d
das, was ausgegeben wird.
Wenn der dritte Teil wird dd
, werden zwei Elemente aus dem Hauptstapel entfernt und jetzt wird der obere Teil des Stapels '
ausgegeben.
Somit können wir im dritten Teil Strahlung nachweisen. Aus dem gleichen Grund können wir im zweiten Teil Strahlung nachweisen.