Schreiben Sie ein Quine , das aus echten englischen Wörtern besteht, die durch einzelne Leerzeichen getrennt sind. Ein "Wort" ist eine Zeichenfolge, die nur Klein- und Großbuchstaben enthält ( /[a-zA-Z]+/
in Regex). Um "echt" zu sein, muss Ihr Wort vom offiziellen Scrabble-Wörterbuch erkannt werden .
Ich verwende das Scrabble-Wörterbuch, da es eine endgültige Antwort darauf gibt, was gültig ist und was nicht. Ein normales Wörterbuch enthält zu viele Grauzonen. Beachten Sie, dass "A" und "I" (ganz zu schweigen von "quine") keine gültigen Scrabble-Wörter sind.
Da das Schreiben eines Quines nur mit Buchstaben und Leerzeichen in den meisten Programmiersprachen nahezu unmöglich ist, haben Sie die Möglichkeit, die einzelnen Leerzeichen zwischen Wörtern durch ein Zeichen Ihrer Wahl zu ersetzen. Sie haben auch die Möglichkeit, Zeichen vor dem ersten und dem letzten Wort anzuhängen. Diese hinzugefügten Zeichen können beliebige Zeichen (einschließlich Zeilenumbrüche und Nicht-ASCII-Zeichen) außer Buchstaben (az, AZ) sein . Es gibt jedoch eine Strafe für das Hinzufügen (siehe Wertung).
Einzelheiten
- Wie üblich können die Quines ihren eigenen Quellcode nicht lesen oder darauf zugreifen. (Ich würde sagen, dass der Q-Befehl von HQ9 + dies verletzt.)
- Die Ausgabe sollte nach stdout oder einer ähnlichen Alternative erfolgen. Es erfolgt keine Eingabe.
- Die Wörter müssen nicht richtig groß geschrieben werden. Sie können überall Groß- und Kleinschreibung haben. Die Reihenfolge der Wörter muss keinen Sinn ergeben.
- In Ihrem Programm darf kein Wort mehr als dreimal verwendet werden. Anders großgeschriebene Wörter sind immer noch dasselbe Wort (z. B. 'DOG', 'dog' und 'dOg' sind alle dasselbe Wort).
- Mit Sprachen wie PHP oder HTML - Code, können Katze aus ihrem Inhalt eine triviale Lücke betrachtet und ist nicht erlaubt.
- Das Programm muss mindestens ein Wort enthalten.
Wertung
Ihre Punktzahl ergibt sich aus der Anzahl der "echten Wörter" in Ihrem Programm sowie den folgenden Strafen:
- +1 für jedes Leerzeichen, das durch ein anderes Zeichen ersetzt wurde
- n n für alle n Zeichen, die Sie vor dem ersten Wort hinzugefügt haben (ja, das ist n hoch n)
- n n für alle n Zeichen, die Sie nach dem letzten Wort hinzugefügt haben
Zum Beispiel das Programm
We all LIKE PROgraMmING
würde 4 Punkte erzielen, weil es 4 Wörter enthält; Es wurden keine Zeichen hinzugefügt oder Leerzeichen ersetzt. Die Ausgabe wäre natürlich We all LIKE PROgraMmING
.
Das Programm
!We@all LIKE#PROgraMmING- =
würde 4 + 2 + 1 + 27 = 34 erzielen; 4 für die Wörter, 2 für die ersetzten Leerzeichen, 1 für !
die Vorderseite und 27 für die - =
am Ende. Die Ausgabe wäre natürlich !We@all LIKE#PROgraMmING- =
.
Die niedrigste Punktzahl gewinnt. Tiebreaker geht mit den wenigsten Strafpunkten zur Antwort. Wenn es immer noch einen Gleichstand gibt, gewinnt die am höchsten gewählte Antwort.
quelle
Antworten:
Golfscript, 8 Wörter + 8 Symbole =
2016 (3?)Die Wörter sind nur ein Füllstoff, der Kern ist ein winziger quiner Kern:
Dupliziert und wertet eine Funktion aus, die nur die Anweisungen zum Duplizieren und Auswerten anfügt. Wenn eine Funktion gedruckt wird, wird sie automatisch mit einem String versehen. Dies ist die kleinste Quine, die etwas bewirkt .
Oder wir könnten einfach ein Funktionsliteral verwenden, das niemals ausgewertet wird. Aber es fühlt sich an wie Betrug ...
quelle
{a`b"x.y~z"c}x.y~z
{whatever}
würde gegen die allzu triviale Regel verstoßen ("Die Verwendung von Sprachen wie PHP oder HTML, mit denen nur der Inhalt korrigiert werden kann, wird als triviale Lücke angesehen und ist nicht zulässig.")> <> , 25 Wörter + (22 + 1 1 + 1 1 ) extra =
5749Oh Gott, mein Gehirn.
Da die Regeln "Es gibt keine Eingabe." Angeben, müssen Sie eine leere Datei einfügen, damit dieses Programm funktioniert.
Oh und ja,
brr
ist ein gültiges Scrabble-Wort, genau wietsktsk
undpfft
.Erläuterung
Zuallererst sind die folgenden Wörter No-Ops:
Dies hat zwei Gründe:
abcdefl
Push-Nummern (10, 11, 12, 13, 14, 15 bzw. die Länge des Stapels). Darüber hinausi
drückt -1 , wenn EOF erfüllt ist, da es keine Eingabe ist.p
Befehl werden drei Zeichenv,y,x
und Stellenv
an der Position angezeigtx,y
.Ja, mit> <> können Sie den Quellcode im Handumdrehen ändern! Davon machen wir aber eigentlich keinen Gebrauch, da wir das nur
p
zum Knallen brauchen .Wenn wir diese No-Ops loswerden, bekommen wir:
In ähnlicher Weise sind der
laced app
Teil vonplaced apple
und dere alp
Teil vonapple alp
auch No-Ops, und derrr
vonbrr
dreht den Stapel einfach zweimal um, was wir auch entfernen können:Endlich etwas, das aussieht wie ein normales> <> Programm! Die Idee ist, das Standard-Quine zu verwenden, das wie folgt funktioniert:
'
beginnt mit dem Parsen der Zeichenketten und drückt jeden getroffenen Buchstaben, bis wir einen anderen treffen'
'
und hören auf , die Zeichenfolge zu analysieren. Das Ergebnis ist, dass wir jedes einzelne Zeichen im Programm (außer dem Anfangsbuchstaben'
) auf den Stack verschoben haben.Dann passiert folgendes:
quelle
i
.Huhn , 1 Wort
Normalerweise mag ich Esolangs nicht, aber dieser hier schien perfekt dafür zu sein. Ich denke, das ist eine wahre Quine:
Drückt 1 Huhn auf den Stapel. Der Stapel wird angezeigt.
quelle
R, 2 Wörter + 1 Ersetzung + 1¹ Nachlauf = 4
Objekte, die nichts zugeordnet sind, werden nur auf stdout gedruckt. Da ein Ausdruck ein Objekt ist, gibt sich der folgende Code von selbst aus:
Bisherige Einreichung, 5 Punkte:
quelle
Python 2, 58 = 37 Wörter + 21 Satzzeichen
Mit einigen neuen Zeilen hinzugefügt:
Die drei Verwendungszwecke pro Wort machten das Schreiben schwierig. Ich wollte die Zeichenfolge mehr als dreimal mit dem gesamten Code verwenden, und jede Zeichenfolge musste mit
if else and or
Operatoren isoliert werden, von denen ich nur einen begrenzten Vorrat hatte.quelle
Julia, 1 Wort + 1¹ vor = 2
Julia hat Objekte, die als Symbole bezeichnet werden und mit einem vorangestellten Zeichen definiert sind
:
. Ähnlich wie bei meiner R-Lösung wird diese nur gedruckt, wenn sie gesendet wird.quelle
DOS-Befehlszeile, 10
Fehler quine, es scheint nicht verboten
quelle
&
der gesamte Code codiert und die Ausgabe&
ein Wort?&
es sind zwei Symbole. 5 (Wörter) + 1 (nachgestellte) + 2 ^ 2 führende = 10.Runenverzauberungen , Ergebnis 4 + 3 + 1 1 +1 1 = 9
Probieren Sie es online!
Wörter:
hot ox not knot
(4)Ersetzungen:
3 4 +
(3)Vorher:
"
(1)Nachher:
@
(1)Alle Charaktere
GNOQWghtxz
sind in Runic no-op (sowie Leerzeichen und Punkt, aber mehr Leerzeichen helfen nicht, Punkte zu erzielen). Einschließlich derX
undk
für die Funktionalität erforderlichen gibt dies die folgende verfügbare Wortliste:Ich suchte nach den Bedürfnissen des Raums, in den es gehen sollte, und machte es lustig.
Wenn Sie alle NOP-Zeichen entfernen, erhalten Sie das folgende Ergebnis:
Probieren Sie es online!
quelle
huh? - 1 Wort + 1 ** 1/1 ^ 1 = 1 Zeichen nach dem Wort = 2 Gesamtpunktzahl.
Ouch!
ist eine gültige quine in huh?Führen Sie es wie
pythuhn.py Ouch!
folgtOuch!
aus: Das aktuelle Verzeichnis darf keine Datei enthalten .quelle