Mein Vater, der ein wirklich guter APLer war und mir alle Grundlagen von APL (und vielem mehr) beigebracht hat, ist an diesem Tag vor fünf Jahren verstorben. In Vorbereitung auf 50 Jahre APL habe ich diesen Patentbrief gefunden (übersetzt für diejenigen, die kein Dänisch lesen) für ein handgeschriebenes Logo gefunden. Dies erklärt einen Hauptgrund dafür, dass APL niemals eine große Nutzerbasis gewinnt - ein Grund, der natürlich auch für alle erstaunlichen Golfsprachen dieser Community gilt:
A 3497/77 Req. 29 th August 1977 bei 13
Henri Brudzewsky, Ingenieurbüro, Mindevej 28, Søborg,
Klasse 9 , einschließlich Computer, insbesondere APL-codierte Computer,
Klasse 42: IT-Dienstleistungsunternehmen, insbesondere während der Verwendung von APL-codierten Computern.
Aufgabe
Produzieren Sie eine sich unendlich wiederholende Ausgabe des Texts EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
ohne Zeilenumbrüche. Sie können den Text mit EASIER
oder FASTER
oder beginnen FEWER
.
Antworten:
05AB1E , 25 Bytes
Probieren Sie es online!
Erläuterung:
quelle
[
für "Beginn der Endlosschleife". Dies‘æƒËRSˆ¾¥ƒŽÁˆ¾¡ŸÂ ‘
ist eine komprimierte Version vonEASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
und?
bedeutet "Drucken ohne Zeilenvorschub".compressed
.SVG (HTML5), 336 Bytes
Bearbeiten: Einige Leute haben festgestellt, dass die Schriftart nicht ganz zu ihnen passt. Hier ist eine Version, mit der Sie einige Pixel anpassen können:
quelle
PHP, 76 Bytes
Probieren Sie es online!
quelle
EASI0MMUNICATION1FAST0DING1FEW0DERS1
wird als Zeichenfolge behandelt"EASI0MMUNICATION1FAST0DING1FEW0DERS1"
. Drittens wirdstrtr
ein assoziatives Array erwartet (eine "Map" oder ein "Dictionary" in anderen Sprachen), dieser Code wird jedoch in einem regulären Array übergeben, sodass das reguläre Array als assoziatives Array mit den Schlüsseln 0 und 1 behandelt wird und ich werde als Zeichenketten behandelt,"0"
und"1"
weil Sie es erraten haben, braucht die Funktion Zeichenketten.Vim 69 Bytes
quelle
HTML, 122 Bytes.
Entschuldigung, kann mir nicht helfen.
quelle
Python 2 ,
8281 Bytes-1 Byte dank Leaky Nun.
Ich mache wahrscheinlich etwas falsch, aber es ist wirklich spät, so meh. Beachten Sie das nachstehende Komma.
Probieren Sie es online!
Eine andere Lösung, 85 Bytes
Das kann ich wohl weiter Golf spielen.
Probieren Sie es online!
quelle
'%sER CO%s MEANS '
Formatzeichenfolge in ändern und die Leerzeichen aus den Formatelementen entfernen, ist dies besser und funktioniert ordnungsgemäß.Jelly ,
3329 Bytes4 Bytes dank Erik dem Outgolfer.
Probieren Sie es online!
quelle
“©%5ÐƬwȮh¬Þ6.⁷ḷḊḥṫɠlḶṀġß»
(müssen immer nochŒu
und verwenden;⁶
) 2) Sie könnenß
anstelle von verwenden1¿
.Brachylog , 70 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
HTML / CSS (nur Firefox),
179177183176173 BytesGewiss nicht annähernd die niedrigsten Werte, dachte ich nur, es würde Spaß machen, eine unendliche Wiederholung in HTML / CSS zu erreichen, ohne dass JS beteiligt wäre :)
Änderungsprotokoll:
width:100%
Stil durchright:0
, um 3 Byte zu sparenquelle
repeat no-repeat
oder; background-repeat: repeat-x
, aber herausgefunden, wie man es vermeidet. Es stellt sich heraus, dass die Einhaltung der Spezifikation Bytes spart!Python 3 , 87 Bytes
Probieren Sie es online!
quelle
end=
das?print
sindprint("",end="\n")
.ER CO
undMEANS
(führende + nachfolgende Leerstelle) einige Bytes einsparen würde, aber anscheinend nicht.C (gcc) , 92 Bytes
Probieren Sie es online!
quelle
LOLCODE , 116 Bytes
Probieren Sie es online!
quelle
IM IN YR ...
undIM OUTTA YR ...
bilden eine Endlosschleife.!
unterdrückt das Nachstellen den Wagenrücklauf nach dem Drucken.Ruby, 77 Bytes
Zuordnung
" MEANS "
zu einer Variablen alle 1 Byte gespeichert :-)quelle
JavaScript (ES6),
9087 BytesFunktionsalternative, 100 Bytes
"Funktioniert" bedeutet hier "stürzt Ihren Browser nicht ab" (zumindest für eine Weile)!
quelle
document.write`EASIER COMMUNICATION${m=" MEANS "}FASTER CODING${m}FEWER CODERS`+m
entsprichtdocument.write([ 'EASIER COMMUNICATION', 'FASTER CODING', 'FEWER CODERS' ], ' MEANS ', ' MEANS ') + ' MEANS '
, das 1) alle Argumente in Zeichenfolgen konvertiert und verkettet ( drucktEASIER COMMUNICATION,FASTER CODING,FEWER CODERS MEANS MEANS
) und 2)' MEANS '
sowieso nicht die letzten einschließt, da es sich außerhalb des Funktionsaufrufs befindet ...Befunge , 73 Bytes
Probieren Sie es online!
quelle
">:#,_
mitA"k,
und speichern zwei Bytes. LinkOktave, 86 Bytes
Erläuterung:
Das ist ziemlich selbsterklärend. Der einzige wirkliche "Trick" ist hier zu verwenden
while fprintf
. Wennfprintf
ein return-Argument angegeben wird, wird die Anzahl der gedruckten Zeichen zurückgegeben, und alle Zahlen ungleich Null werdentrue
in Oktave berücksichtigt , sodass die Schleifenbedingung immer wahr ist.Ich habe verzweifelt versucht, den interessanteren Ansatz kürzer zu machen, aber es stellte sich leider heraus, dass er 9 Bytes länger war:
Dadurch wird versucht, die Zeichenfolgen
'ER CO'
und' MEANS'
an den richtigen Stellen in die Zeichenfolge einzufügen. Dabei'ababab'-96
wird eine direkte Indizierung verwendet, bei der es sich um eine kürzere Version von handelt[1 2 1 2 1 2]
.Dies war ein bisschen kürzer (93 Bytes), aber immer noch länger als der naive Ansatz
Und noch eine (89 Bytes) mit Level River Sts Ansatz:
Dies sollte theoretisch für ein Byte weniger als die ursprüngliche Lösung funktionieren, aber es schlägt aus irgendeinem seltsamen Grund fehl:
Dies verwendet die Buggy-Funktion,
fprintf('abc def')
die äquivalent zu istfprintf"abc def"
. Dasend
muss in der nächsten Zeile stehen, ist aber immer noch ein Byte kürzer, da zwei Klammern übersprungen werden.Und noch eins für 87:
Sag nicht, ich hätte es nicht versucht :)
quelle
fprintf
Argumente recycelt oder? Ihre letzte Version kann 6 Bytes weniger sein. Probieren Sie es online aus!Alice , 70 Bytes
Probieren Sie es online!
Erläuterung
Leider
MEANS
spart die Wiederverwendung von (mit Leerzeichen) nur ein einziges Byte, da nur das Ganze auf einmal gedruckt wird. FolglichER CO
würde das Extrahieren von tatsächlich ein Byte kosten (oder wahrscheinlich mehr, da es etwas teurer wäre, einen anderen Abschnitt zu extrahieren).quelle
C #, 102 Bytes
quelle
Pyth , 69 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Lua , 92 Bytes
Probieren Sie es online!
quelle
Java (OpenJDK 9) , 114 Byte
Probieren Sie es online! Unterbrechen Sie die Ausführung nach einigen Sekunden, da nicht bekannt ist, wann sie beendet werden soll.
quelle
for(;;)
C 86 Bytes
Sehen Sie , wie es online funktioniert .
quelle
gcc
(verwenden Sie Standardoptionen, also keine Tail-Call-Optimierung), und leiten Sie die Ausgabe beim Ausführen nach / dev / null um, um den Prozess zu beschleunigen. Es wird Schuld seg. Mit der Option '-O2', die die Tail-Call-Optimierung ermöglicht, läuft sie für immer wie beabsichtigt.bc 76 Bytes
quelle
Perl 6 ,
81 8079 BytesVersuch es
Versuch es
Versuch es
quelle
MATL , 68 Bytes
Probieren Sie es online!
Erläuterung
quelle
Axiom,
9289 BytesEinfügen in eine Zeile in das Axiom-Fenster. Möglicherweise gibt es eine Funktion, die kürzer als "fortranLiteral" ist und nicht "\ n" schreibt
quelle
Braingolf , 78 Bytes
oder
Braingolf , 77 Bytes [nicht konkurrierend]
Dieser ist nicht konkurrierend, da ich 2 Fehler in Bezug auf die Verwendung des gierigen Modifikators (
&
) mit dem Zeichen-Druck-Operator (@
) beheben musste.quelle
Leer , 267 Bytes
Drückt
FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS
auf den Stapel und druckt ihn dann aus. Nie endet als nein{@}
Außerdem habe ich das folgende Braingolf- Skript verwendet, um diesen Code zu generieren
quelle
Groovy 79 Bytes
Verwendet die String-Interpolation von Groovys.
quelle
PowerShell ,
100 bis97 ByteProbieren Sie es online!
Ältere Antwort:
PowerShell , 100 Byte
Probieren Sie es online!
PowerShell ist diesbezüglich etwas kompliziert, da die meisten würdigen Ausgabemethoden für die Konsole auch eine neue Zeile einfügen.
Write-Host
ist aus diesem Grund erforderlich. Es wird jedoch weiterhin gezeigt, wie Pipelining den Codierungs-Footprint verkürzen kann.Sie müssen die Ausführung nach kurzer Zeit stoppen, da sie nicht zurückkehrt, da es sich um eine Endlosschleife handelt.
Bearbeiten: 3 Bytes durch Ändern einer
while
Schleife in einefor
Schleife abgeschnitten .quelle