Schreiben Sie ein Programm, das seinen eigenen Quellcode rückwärts ausgibt, also eine eniuq .
Wertung:
- +50, wenn Sie Pull-Daten aus dem Internet verwenden.
- +25, wenn Sie Ihren eigenen Quellcode lesen.
- +1 Punkt pro Zeichen
- Die niedrigste Punktzahl gewinnt.
Regeln:
- Keine Verwendung anderer Dateien (zB
reverse.txt
) - Die Mindestcodelänge beträgt zwei Zeichen.
- Ihr Programm kann kein Palindrom sein.
+10
unter "Punktzahl" entweder "10 Zeichen mehr als tatsächlich" oder "der Code 10 Zeichen mehr haben kann, was nicht der Fall ist" zu verstehen ist bewertet werden ", oder andere Interpretationen.Antworten:
GolfScript - 2
(dh
\n1
wo\n
ist das Newline-Zeichen)Ausgabe:
(ie
1\n
)Um Ilmari zu zitieren :
Eine neue Zeile gefolgt von einer Nummer gibt also die Nummer gefolgt von einer neuen Zeile aus.
quelle
huh? 5 Zeichen
Ich habe eigentlich KEINE Ahnung, wie es funktioniert, aberwenn du den Interpreter herunterlädst und schreibst!hcuO
, dann bekommst duOuch!
Um dies auszuführen, müssen Sie das Programm folgendermaßen ausführen:
Es wird tatsächlich nach einer aufgerufenen Datei gesucht
!hcuO
, diese existiert jedoch nicht, sodass sie ausgegeben wirdOuch!
quelle
huh?
richtig verwenden, obwohl es mir schwer fällt, die richtige Dokumentation zu finden. Es scheint, dass die Verwendung beabsichtigt isthuh.exe <path to source code>
undOuch!
für einen ungültigen Pfad zurückgegeben wird. Versuchen Sie, Ihren Code in eine tatsächliche Datei einzufügen und diese Datei als Argument für das zu verwenden,huh?
was passiert. Es ist auch interessant zu sehen, dass eineNotes.txt
Datei mit Kommentaren generiert wird .Mathematica, 3 Zeichen
a 2
bedeuteta
mal 2. Die Antwort ist also2 a
.quelle
1#
. Die Ausgabe ist#1
.H9 + , 13 Zeichen
Wie die Webseite sagt, alle Zeichen , die nicht sind
H
,9
oder+
ignoriert werden, so wird mein Programm druckenHello, world!
quelle
Javascript: 34 Zeichen
Ausgänge
SyntaxError: Unexpected identifier
, zumindest in der Chrome-Konsolequelle
tnemetats erofeb ; gnissim :rorrExatnyS
=>SyntaxError: missing ; before statement
.Python,
4341quelle
Mathematica, 2 Bytes
Ausgänge:
quelle
TI-BASIC, 2
Wo
i
ist die imaginäre Zahl?Ausgänge
2i
quelle
BASIC,
22127 Zeichen:-)
BEARBEITEN: Wenn Sie das Programm im Sofortmodus aufrufen dürfen, kann dies auf
rorre xatnyS
(12 Zeichen) reduziert werden .In BBC BASIC benötigen Sie nur 7 Zeichen:
quelle
C ++ 472 Zeichen
Viele Charaktere, aber ich kann mir keinen einfacheren Weg in einer C-basierten Sprache vorstellen.
quelle
Bash
Länge: 31 Zeichen.
Sch
Länge: 29 Zeichen.
Dieser konnte auf einigen Linux-Distributionen nicht funktionieren, funktioniert aber unter OSX.
tcsh
Länge: 26 Zeichen.
csh
Länge: 26 Zeichen.
Der Gewinner ist:
ksh
Länge: 21 Zeichen.
Oben sollte auf allen * Unix-basierten Betriebssystemen funktionieren.
quelle
dnuof
dnuof
installiert sind (was auch immer es ist). Verdammte Hacker.dnuof
? : D was macht es?GolfScript, 12 Zeichen
Dieser Code verwendet die doppelte Zeichenfolge in Anführungszeichen
"-1%.`"
, kehrt sie um (-1%
), dupliziert sie (.
) und entfernt (`
) die zweite Kopie und stellt die doppelten Anführungszeichen wieder her.Vorheriger Eintrag (13 Zeichen):
Basierend auf der 8-Zeichen-Quine
{'.~'}.~
aus dieser Antwort ; Die zusätzlichen 5 Zeichen werden benötigt, um die Ausgabe zu stringifizieren und umzukehren.Ps. Beachten Sie, dass GolfScript automatisch eine neue Zeile an das Ende der Ausgabe anfügt. Wenn dies als Teil der Ausgabe gezählt wird, kann jeder Version des Codes ein entsprechender Zeilenumbruch vorangestellt werden, ohne dass sich dies auf die Ausgabe auswirkt. Dies kostet ein zusätzliches Zeichen.
quelle
Befunge 98 - 10 Zeichen
Dies funktioniert, wenn Ihr Interpreter umgebrochene Zeilen nach
"
dem Hinzufügen eines zusätzlichen Leerzeichens nicht interpretiert . Wenn Ihr Interpreter umbrochene Zeilen so interpretiert, funktioniert diese 11-Zeichen-Lösung ( da doppelte Leerzeichen in einem Zeichenfolgenliteral als eins interpretiert werden ):Wenn ich
g
ohne Strafe verwenden kann, dann funktionieren diese auch (7 bzw. 8 Zeichen):und
quelle
Rubin, 60
Basierend auf einem klassischen Ruby Quine.
quelle
Perl, 41
Alte Antwort mit 52 Zeichen (27 + 25 Strafpunkte)
Liest seine eigene Quelle, speichert die Rückseite in einem Skalar und druckt diese aus.
quelle
scalar
Operator kann durch ersetzt werden~~
. Sie müssen jedoch +25 zu Ihrer Punktzahl hinzufügen, um Ihren eigenen Quellcode lesen zu können.$_='say"lave;\047",~~reverse,"\047=_\$"';eval
, aber Ihre Lösung ist kürzer :-) Beachten Sie, dass Sie es , Golf zu 39 Zeichen nach unten verwendensay
. Hoffe, Sie werden alle esoterischen Verrücktheit schlagen :-)print
mitsay
? Das führt dazu, dass nichts gedruckt wird.-Mfeature=say
Option ausgeführt?Fission , 6 Bytes
Ein seltener Fall einer verallgemeinerten Quine, die die gleiche Länge wie die normale Quine hat :
Die Idee ist die gleiche wie bei der normalen Quine, aber wir verwenden ein linkes Atom (beginnend bei
L
), damit der Druckmodus den Code in umgekehrter Reihenfolge durchläuft.quelle
J: 26
Standard-Quining (26 Zeichen) : durch Definieren einer Funktion und Übergeben einer eigenen Definition in Anführungszeichen:
Könnte wahrscheinlich kürzer gemacht werden.
J-spezifisch (33 Zeichen) : indem Sie eine Variable definieren und fragen, in welcher Datei die Variable definiert wurde, dh in dieser, und dann den Inhalt dieser Datei ausdrucken:
Muss von einem Skript aus gespeichert und ausgeführt werden (dh nicht in der REPL, da die Antwort auf die Frage "Ihr Argument wurde nicht in einer Datei definiert" lautet, sodass keine Datei zum Lesen vorhanden ist).
quelle
> <> 25 Bytes
Ich war überrascht, dass dies noch nicht geschehen war. :)
Code hier einfügen und ausführen.
.
Befehl ist der Sprung, Poppingx
undy
vom Stapel, und die IP zu bewegen(x, y)
in der Code - Box. In diesem Fall ist der Stapel leer, sodass die einzige Fehlermeldung der Sprache ausgegeben wird:quelle
Microscript , 11 Byte
Ich musste das irgendwie tun.
Überraschenderweise ist dies tatsächlich kürzer als die kürzeste bekannte wahre Quine der Sprache.
q
unda
sind ansonsten äquivalent, mit der Ausnahme, dassq
umschließende Anführungszeichen hinzugefügt werden, währenda
dies nicht der Fall ist.quelle
JavaScript jQuery
119927470 ZeichenJetzt benutze
<pre><code>
ich jQuery, wie es Minitech in den Kommentaren vorgeschlagen hat, und setze es manuell ein, damit ich es verwenden kann,text()
ohne Angst davor zu haben, dass andere Codeblöcke in diesem Beitrag stören. Das<h4>
manuelle Umschließen mit war beim Testen mit Chromeium nicht kompatibel, daher sollte es jetzt in den meisten Browsern funktionieren.Wenn dieses Programm auf dieser Seite ausgeführt wird, findet es den Codeblock direkt darüber, kehrt seinen Inhalt um und legt ihn in eine Warnbox.
Es ist einfach zu überprüfen, fügen Sie es einfach in die Entwickler-Konsole ein.
quelle
querySelector
sowieso verwenden ...querySelector
. Ich würde gerne die Möglichkeit von jQuery untersuchen, aber es scheint, als würde es etwas länger dauern, bis ich es herausgefunden habe.jQuery
. (Ich habe erst gestern angefangen, Javascript zu lernen.)PHP, 41 Zeichen (+25)
Ich weiß nicht, ob ich die Aufgabe richtig verstanden habe. Aber hier ist ein PHP-Versuch:
edit: das kann viel kürzer sein:
Aber da es so einfach sein kann, wird wahrscheinlich nicht danach gefragt ...
quelle
>? ;)llun dna ))__ELIF__(f$(tilps_rts = s$( : )s$(pop_yarra ? )s$(tessi ohce )s$ || )s$(tessi!(elihw ;"stnetnoc_"=.f$ ;'teg_elif'=f$ php?<>?}};ESLAF nruter;"ec6x\i66x\02x\e47x\96x\rw
gibt noch viel mehr). Geben Sie auch Ihre Zeichenanzahl an. Das ist ein Code Golf. Außerdem scheint es, dass Sie Ihre Quelldatei lesen, also addieren Sie 25 zu Ihrer Zeichenanzahl und das ist Ihre Punktzahl. Die niedrigste Punktzahl gewinnt.array_pop
mitarray_shift
, um den Quellcode nicht rückwärts zu sehen ...ESLAF nruter
iereturn FALSE
).MATLAB, 78 Zeichen:
Beachten Sie, dass die Lösung erfordert, dass Sie mit einem Sonderzeichen (alt + 0160) beginnen und dass genau die umgekehrte Nachricht gedruckt wird. (Im Gegensatz zur Python-Lösung)
quelle
UNIX-Shell, 31
Echte Lösung mit 52 Zeichen:
Aber Vorsicht! Ehrlichkeit zahlt sich in der heutigen Welt nicht aus! Strafe ist zu niedrig !!
6 Zeichen + 25 = 31:
quelle
rev $0
erzeugt den Fehler:rev: illegal option -- b
.MS-DOS, 24 Bytes
Ausgabe:
quelle
JavaScript, 62
Funktioniert für mich auf dem neuesten Chrome (v 31.0.1650.63). Einige andere Browser geben möglicherweise eine andere Ausgabe aus. (Wenn Sie diese Ausgabe umkehren, dann würde es funktionieren: P)
quelle
SmileBASIC,
118102 Bytesquelle
JavaScript, 56
quelle
CSS, 88 Bytes
Fügen Sie eine leere HTML-Seite ein, um Konflikte mit anderen Tags zu vermeiden.
quelle
JavaScript,
53504643 BytesBitte helfen Sie mir, dies zu verkürzen.
quelle
q=_=>[...`q=${q}`].reverse().join``
funktioniert genauso gut.Fuzzy Octo Guacamole, 4 Bytes
K
druckt_UNK
,N
drücktNone
undU
drückt0
. Und_
legt den obersten Wert auf dem Stapel ab (druckt aber nicht). Also wird nur_UNK
gedruckt.quelle
K
ausgegeben_UNK
?