Zielsetzung:
Ein Guru sagte einmal, dass ein perfektes Code-Selfie am besten diagonal von der oberen linken Ecke aus aufgenommen werden kann. Ein Code Selfie ist fast wie ein Quine - aber um 45 Grad im Uhrzeigersinn gedreht. Ihre Mission ist es, ein Programm zu codieren, das ein Code-Selfie ausgibt.
Regeln:
- Sie können eine beliebige Programmiersprache verwenden.
- Ihre Programme sollten keine Eingaben von Dateien, Dateinamen, Netzwerken oder anderen Elementen entgegennehmen.
Obligatorische Kriterien:
Bei Selfies geht es um das Motiv und den Hintergrund, sodass Leerzeichen (und andere nicht sichtbare Inhalte wie Zeilenvorschübe usw.) nicht als Teil der Zeichenanzahl gelten. Alle sichtbaren Zeichen dürfen nur in der richtigen, um 45 Grad gedrehten Position ausgegeben werden, während alle nicht sichtbaren Zeichen nicht in der richtigen, um 45 Grad gedrehten Position angezeigt werden. Genau wie bei einer Farbpalette in einem normalen Selfie müssen in einem Code-Selfie mindestens 16 der folgenden Zeichen enthalten sein: {a-zA-Z0-9}
Beispiel:
Wenn dieses Beispiel ein gültiger Quellcode ist:
Output abcd
Output efgh
Output ijkl
Output mnop
Der Beispielcode sollte dies ausgeben:
O
O u
O u t
O u t p
u t p u
t p u t
p u t
u t a
t e b
i f c
m j g d
n k h
o l
p
Dies ist Code-Golf, der kürzeste Quellcode in Bytes gewinnt!
Antworten:
Javascript ( ES6 ), 72 Byte
16 eindeutige alphanumerische Zeichenpalette:
fjalert0plcgmixn
m
undi
Flags werden dem regulären Ausdruck hinzugefügt, um die Mindestanforderungen an die Palette zu erfüllen.quelle
CJam,
30 2825 BytesDies ist etwas lang, da die maximale Länge 16 Zeichen
A-Za-z0-9
beträgt.Dies ist eine etwas nicht triviale Variante einer Standard-Quine in CJam. Wird bald Erklärungen hinzufügen.
UPDATE - 2 Bytes gespart dank Martin, 3 Bytes gespart dank Dennis
Probieren Sie es hier online aus
quelle
Java, 312
Es gibt tatsächlich 326 Bytes, aber wenn ich die Regeln richtig verstehe, muss ich die 14 Leerzeichen nicht zählen.
Das Programm ist im Grunde ein Standard-Java-Quine plus viel Leerzeichen.
quelle
Python 3, 139 Zeichen - 10 Leerzeichen = 129 Zeichen
Da mein Code aus einer Zeile bestand, musste ich das Programm nur diagonal drucken. Meine Zeichenfolge hat den seltsamen Namen "sjxd", sodass mein Code die 16 eindeutigen alphanumerischen Zeichen enthalten kann.
quelle
CSS, 69 Bytes
Fügen Sie eine leere HTML-Seite ein, um Konflikte mit anderen Tags zu vermeiden.
Palette:
stylebfortanm45dgiplck
(22 Zeichen)quelle
MATLAB, 40 Bytes
Etwas schwierig mit der ganzen Rekursionssache - wie können Sie Ihren eigenen Quellcode drucken, wenn Sie den Code zu einer zu druckenden Zeichenfolge hinzufügen, um die Größe des Quellcodes selbst zu erhöhen. Aber das Folgende wird es trotzdem tun:
Das
123456;
Bit ist dazu da, die erforderlichen 16 eindeutigen Zeichen zu erfüllen. Folgendes wird verwendet:Der obige Code funktioniert aus irgendeinem Grund nicht in Octave, aber in MATLAB. Unten ist die Ausgabe:
Nun, wenn es Ihnen nichts ausmacht
ans=
, was MATLAB gerne schreibt, dann würde das folgende für 32 Bytes funktionieren :quelle