Puzzle:
Schreiben Sie ein kurzes, dreizeiliges Programm, das:
- hat 5/7/5 Silben pro Zeile beim Vorlesen
- gibt beim Laufen ein Haiku aus.
Ein Beispiel für ein Programm mit der richtigen Struktur, aber ohne Haiku-Ausgabe ist (Python):
>>> for x in range(3):
... print "EXTERMINATE HUMANS"
... # I am a Dalek.
...
EXTERMINATE HUMANS
EXTERMINATE HUMANS
EXTERMINATE HUMANS
(Der Kommentar ist ein bisschen wie eine Ausrede.)
Dies liest sich laut wie folgt:
für x im Bereich drei
EXTERMINATE HUMANS!
Ich bin ein Dalek.
Jede Sprache ist akzeptabel. Zum Vorlesen können Symbole !@#$%^&*()_+
wie " Waka Waka Bang Splat" ignoriert oder ausgesprochen werden . (Ich bin mir sicher, dass es einen Perl-Eintrag geben wird wie !***(!:, )(*@@@#, )_(*)!.
)
Zusätzliche Punkte, wenn entweder der Code oder die Ausgabe besonders lustig ist oder besonders zen.
Bearbeiten: Wenn Ihre Sprache Boilerplate erfordert, bevor es etwas Interessantes ( #include <iostream>
?) Tun kann, dann bin ich glücklich, das Boilerplate zu ignorieren.
Ich habe Paul Richters Common-Lisp-Haiku angenommen, weil es mich gut fünf Minuten lang zum Lachen brachte.
Lobende Erwähnung für Timwis kreative Regelbiegung ( Compiler- Ausgabe ?!) und für die äußerst einprägsame Linie"Static void. I long for you."
Jetzt endet diese Frage;
Viele weitere Haikus warten auf Sie.
Poste weiter!
quelle
Antworten:
Common Lisp
Klammern schweigen!
Programm:
Gelesen als:
Ausgabe:
quelle
C #
Programm:
Lesen:
Compiler- Ausgabe:
quelle
Piet, 867 Farbblöcke ausführend
Hauptpreis, sagst du? Dies hat eine Codelgröße von 2.
Ausgabe:
Diese Herausforderung hat Spaß gemacht! Ich habe einen Piet-Anweisungscodierer geschrieben, der Anweisungen aufnimmt und sie in ein Piet-Skript übersetzt. Es ist nur eine kurze Arbeit von dort, Code zu generieren, um eine bestimmte Zeichenfolge zu drucken. Ich habe ein wenig (aber effektives) Aufwand in das Golfen des Piet-Codes gesteckt, während ich nur Single-Codel-Anweisungen verwende.
Ich habe dann eine Pixelschrift gemacht. Für jedes Pixel in einem Zeichen vergrößere ich es in 4 Codels: 2 schwarze und 2 ausgeführte. Der erste gefundene Codel wird nicht ausgeführt. Wenn also ein Segment eines Zeichens beispielsweise n Pixel aufweist, entspricht dies 2 * n * -1 Befehlen.
Die Linien an den Seiten kehren den Richtungszeiger um und verschieben ihn um 2 Pixel nach unten, um ihn in die nächste Zeile zu bringen. Somit werden die Anweisungen in jeder zweiten Zeile umgekehrt.
Sobald ich Code hatte, um "in Text eingebetteten Text" zu erzeugen, macht es Spaß. Wahrscheinlich habe ich 20 Haiku geschrieben, aber irgendwann habe ich mich niedergelassen. Durch Ändern der Schriftart; Durch Hinzufügen / Entfernen von Serifen, Abrunden von Ecken, Ändern von Höhe / Breite usw. konnte ich die Gesamtzahl der nicht weißen Pixel im Bild so ändern, dass der Piet-Code genau in den Bildtext passt.
Bonus! Sie können Ihr eigenes quinelike Haiku bilden! http://pastebin.com/zxc9V3UX
quelle
Perl
So lesen Sie es vor:
Ausgabe:
quelle
INTERCAL
INTERCAL hat begrenzte Ausgabefähigkeiten, aber "begrenzte Fähigkeiten" haben mich nie davon abgehalten, ein INTERCAL-Programm zu schreiben!
Bitte lesen Sie dies wie folgt vor:
(Beachten Sie, dass mein Kesselschild am Ende des Programms steht und nicht am Anfang.)
Das Programm erzeugt die Ausgabe:
Was, wenn es laut ausgesprochen wird:
quelle
CoffeeScript
Mit fester Zunge präsentiere ich CoffeeScript:
Ausgesprochen:
Wenn Ihr Timing stimmt (!), Könnte Ihre Ausgabe zB 1337181872717 sein, ausgesprochen:
In Anbetracht der Tatsache, dass mein erster Lauf in diesem Fall eine Mikrosekunde von einer gültigen Haiku-Antwort entfernt war, denke ich, dass dies Zen genug ist, um sich zu qualifizieren!
NB: Ich würde mich freuen, genügend Zen-Alternativen für meine ersten beiden (zugegebenermaßen schwachen) Zeilen zu hören.
quelle
J
Programm:
Gelesen (Substitution von Verbnamen):
Ausgabe (Zahlen laut vorlesen):
quelle
Python
Code:
Wie man liest:
Ausgabe:
Arbeitsbeispiel: http://ideone.com/hDniW
quelle
Logo
Hier ist ein Haiku-Verfahren, das auch ein Quine-Verfahren ist (einfach aufgrund der Introspektionsfähigkeit des Logos)
Lesen als
quelle
Rubin
Gelesen als:
Es fließt leider nicht sehr gut. In meiner Verteidigung, es ist 00.50 Uhr ...
quelle
JavaScript (funktioniert nicht in Firefox)
Funktioniert mit Ausnahme der Mozilla
Javascript Engine und zeigt die
Rechtschreibung nach dem Ausführen an
quelle
Python
(Lesen Sie nur die erste Ebene der Klammern (nicht die zweite)).
Code und wie man liest:
Leistung, wahrscheinlich grundlegendstes Haiku der Welt:
quelle
True == False
mit ,True is False
um den Programmcode zu machen mehr wie , wie Sie es lesen würde.what = then
könnte auch witn ersetzt werdenwhat is then
.Python (2 Einträge)
Eintrag 1: Ein Haiku in der Zeit
Sie müssen dies in einer Datei speichern und im selben Verzeichnis ausführen. Dieses Haiku druckt sich sehr langsam auf dem Bildschirm aus, ein Gedicht in Worten und Zeit.
Eintrag 2: Ein Haiku ohne Symbolik
Dies ist ähnlich wie oben, war jedoch ein Versuch, ein Python-Haiku zu schreiben, das nur Schlüsselwörter und minimale Klammern oder Ersetzungen von Symbolen verwendete (z. B.
=
ausgesprochen als "ist").quelle
Tcl
Hier ist ein selbstdokumentierendes, selbstausgebendes Beispiel:
quelle
Vim
gelesen als
Schreibt:
gelesen als:
quelle
Python 3
Gelesen als:
Drucke:
Gelesen als:
quelle