Limerick Hello World [geschlossen]


28

Ein Reimprogramm, das Sie schreiben Der
Versuch, den Kampf zu gewinnen
Um den Wettbewerb zu gewinnen und abzustimmen,
muss "Hallo Welt" berechnet werden.
Dann drucken Sie es sehr höflich aus

Das beliebteste Gedicht wird gewinnen.

Die Anforderungen sind:

  • Das Gedicht sollte aus 5 Zeilen mit AABBA-Reimen bestehen
  • Es kann drucken, was immer Sie wollen, aber die Ausgabe sollte "Hallo Welt" enthalten (Groß- / Kleinschreibung spielt keine Rolle, Anführungszeichen sind nicht in der Ausgabe enthalten).
  • Symbole werden vorgelesen. Die vierte Zeile oben lautet beispielsweise: Es muss "quote hello world quote" berechnet werden
  • Veröffentlichen Sie unter Ihrem Code in einer anderen Codevorschau die "Vorleseversion" Ihres Codes zur Disambiguierung auf speziellen Symbolen.

Ausgenommen sind Gedichte:

  • einschließlich toter Code oder Zeichen, die sicher entfernt werden könnten, ohne die Reime oder die Funktionalität zu ändern
  • Verwenden von Kommentaren als Möglichkeit zum Reimen (außer wenn es einen guten Grund dafür gibt)
  • mit dem gleichen Symbol wie das Ende der Redewendung für Reim.

Bei einem Gleichstand gewinnen Programme, die ein Gedicht ausgeben. Wenn es immer noch ein Unentschieden gibt, werden kürzere Programme gewinnen.

Neue Zeilen zählen nicht. Leerzeichen, Tabulatoren und Zeilenumbrüche werden nicht vorgelesen. Zum Beispiel "Hallo Welt!" würde vorgelesen werden "doppelte Anführungszeichen Hallo Komma Welt Ausrufezeichen doppelte Anführungszeichen".


Das ganze Programm muss aus fünf Zeilen bestehen? Kann eine Antwort nicht einfach ein Ausschnitt der erforderlichen Befehle sein? Ohne die Klassen- / Funktionsdeklarationen und alle?
mikhailcazi

Ja, das gesamte Programm muss aus fünf Zeilen bestehen. Versuchen Sie, Ihre Definitionen und Einschlüsse entlang von Linien zu verbreiten. Die meisten PL haben die Möglichkeit, mehrere Sätze in einer einzelnen Zeile mit dem Semikolon oder ähnlichem einzufügen.
Mikaël Mayer

Ich sehe, dass viele der Antworten versuchen, Limericks zu produzieren, weil Sie dieses Wort in Ihrem Titel erwähnen, aber nicht in Ihren Anforderungen.
TRiG

Das ist richtig. Ich möchte nur, dass das Programm ein Limerick ist.
Mikaël Mayer

Ich stimme dafür, dies als zu umfassend zu schließen, da es keine Möglichkeit gibt, objektiv festzustellen, ob eine Antwort gültig ist.
Weizen-Assistent

Antworten:


86

Leerzeichen

Ein Reimprogramm, das ich geschrieben habe  	   
	
     		  	 	
	
dieses Gedicht von Leerzeichen und Aufblähen		 		  
	
     		 		  
	
weil newlines nicht zählen  		 				
	
     	     
	
trotz der menge   	 	 			
	
     		 				
	
Also verdient eure aufrichtige Zustimmung 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Whitespace (Programmiersprache)
Online-Dolmetscher zur Testantwort

Ausgabe:

Hallo Welt

3
Das erinnert mich irgendwie an das Come Together der Beatles .
pastebin.com Schrägstrich 0mr8spkT

7
Es ist sicherlich "über mich"
Sideshow Bob

6
Ausgeschlossen: Verwenden von Kommentaren als Möglichkeit zum Reimen
Nicht dass Charles

2
Nun, ich habe vergessen, dass andere Zeichen Kommentare in Leerzeichen sind. Ich glaube nicht, dass ich diese Regel einhalten werde, da dies sonst den Sieger ruinieren würde.
Mikaël Mayer

3
@ MikaëlMayer Ich finde, du solltest die Regel einhalten. Ich vermute, dass viele dieser Stimmen größtenteils von Leuten stammen, die gerade den Charme von Whitespace entdecken. Persönlich bin ich mehr daran interessiert, Antworten im Geiste der eigentlichen Herausforderung des Reimens von Code zu sehen.
Jason C

60

HTML

<html>
<body><span
    class="poem"
    > Hello World! I'm a goat
</span></body></html><!-- Pecan -->

Ich musste ein wenig liberal mit der Aussprache der letzten Zeile werden. Ich hoffe es verstößt nicht gegen die Regeln. Es ist auch nicht 100% gültig für W3C, funktioniert aber in den meisten Browsern.

<!--
less than aich tee em el greater than,
less than body not equal to span,
class equals quote poem end quote,
greater than Hello World Bang I'm a goat
close span close body close root comment pecan
-->

4
+1 für kluge
Umformulierungen

5
+1 für das Lesen ><als "ungleich"
John Dvorak

3
Ein Neuling, ein Gedicht, das er geschrieben hat - in der Hoffnung, nur eine Stimme zu bekommen - und jetzt in diesem Rennen - er ist auf dem zweiten Platz!
Cobaltduck

26

Javascript

Ich weiß, dass dies nicht den Regeln entspricht, aber ich konnte nicht widerstehen

var girl, attractive = true;    // There once was a beautiful girl
var boy; girl = ' World';       // And a boy who thought she was his world
boy = 'Hello' + girl;           // When the boy said hello
if (boy != attractive)          // She said 'my goodness no!'
    alert(window['boy']);       // And the boy through the window she hurled.

4
Kreativ und genial.
Damon Swayn

3
Es gab keine Notwendigkeit, Mädchen in der zweiten Zeile neu zu definieren, aber ich liebe es immer noch.
Howderek

23

Python

a = [
'hello world']
print ''.\
join(a##
)

oder,

a equals open square bracket
quote hello world quote close square bracket
print quote quote dot backslash
join paren a hash hash
and finally close unmatched bracket

Ich melde mich freiwillig zu zusätzlichen Regeln an, weil ich denke, (1) dass Limericks eine gute Anzeige haben sollten und (2) dass die Besten in der letzten Zeile eine Überraschung haben.

(Da das Ende im Klartext interpretiert wird, können Sie selbst herausfinden, welche Art von Klammer unerreicht ist. In Bezug auf die No Dead Code-Anforderung kann nichts entfernt werden, ohne mindestens einen von Reim, Rhythmus oder Ausgabe zu ändern ).


Man kann einen Hash entfernen, ohne die Funktionalität oder den Reim zu ändern. Es tut den Rhythmus ändern , wie Sie feststellen, aber die Bedingungen der Frage sind hier ganz klar, denke ich.
Keba

1
Da die Natur der Poesie darin besteht, Regeln zu verbiegen, kann ich damit leben. Trotzdem ist mir nicht klar, dass das Messgerät sowieso nicht zum Reimkonzept des OP gehört.
Sideshow Bob

3
Meh. Dreimal "Klammer" mit sich selbst zu reimen, ist nur faul Limericking.
MikeTheLiar

Ja, das tut mir leid. Aber es ist ein anderes Symbol für jeden Reim, wie vom OP gefordert.
Sideshow Bob

14

Haskell

Nehmen Sie sich einige Freiheiten bei der Aussprache bestimmter Symbole, z. B. Tupelkonstruktion (,,) und Funktionsanwendung ($).

main = something that we wrote
     where something x y z = bloat
           bloat = flip ($) m putStrLn
           (that,we,wrote) = undefined
           m = "hello world"

Die Lesung soll sein:

main is something that we wrote
where something x y z is bloat
bloat is flip apply m putStrLine
Tuple that we wrote is undefined
misquote hello world quote.

12

JavaScript

if (!!1) // and
  alert('&#10084; &#10084; the world') // and
Burn = $.cache
return 1 > his_parts.the_sum

Wenn in Klammern, folgt man ausrufenden Zeichen

und alarmiere die Welt in Klammern nach dem Wesen Herzen

aufschlitzen, aufschlitzen und verbrennen

entspricht Bargeld, Bargeld, Rendite

einer ist größer als die Summe seiner Teile


3
Ich glaube nicht, dass ich jemanden kenne, der "$" als "cash" ausspricht, obwohl ich zugebe, kein JavaScript zu schreiben.
Carl Witthoft

1
+1 Ich mag die nicht-wörtliche Transkription und "Entity Hearts" ist trotz der Zeilenumbruch-Freiheiten ein bisschen lustig.
Jason C

8

BASIC

Genauer gesagt Chipmunk Basic . Die Syntaxregeln wurden fast bis zum Abbruch gedehnt, so dass es unmöglich sein kann, dies in anderen Dialekten ohne Änderung auszuführen.

Quelle:

read hi$, u$, q
print hi$ " world how are you
  print "Or as they say
  print u$ q "day
data Hello, How R U, 2

"Vorleseversion":

read hi string comma u string comma q
print hi string quote world how are you
  print quote Or as they say
  print u string q quote day
data Hello comma How R U comma 2

Anmerkungen:

  • Der Quellcode enthält keine Zeilennummern, wird jedoch weiterhin problemlos geladen und ausgeführt (siehe unten).
  • Das $Siegel wird im Kontext von BASIC-Programmen als "String" gelesen (siehe zB diese Wikipedia-Seite ).

Und hier ist der Beweis, dass es tatsächlich funktioniert:

Screenshot des Programms, das unter Mac OS X ausgeführt wird


Wie hast du dieses GIF gemacht?
Kartik

@Kartik habe ich eine App namens IShowU
zimperlich ossifrage

6

Bash

Da die Antwort nur gezwungen ist, enthält die Phrase „Hallo Welt“, sollte die einfachste Lösung sein:

echo A rhyming program you write
echo Attempting to win the fight
echo For winning the contest and vote
echo It must compute "Hello World"
echo Then print it very polite

8
Nach den Regeln legal, aber diese Antwort macht auf Partys keinen Spaß . meta.codegolf.stackexchange.com/a/1063/3363
Jonathan Van Matre

1
@ JonathanVanMatre Das ist ein Zeichen, dass das Problem in der Frage ist. Alles andere als das direkte Drucken der Ausgabe wäre überflüssig. Weiterhin verhindert die erste "ausgeschlossene" Regel etwas Kreativeres, sogar Variablennamen mit mehr als einer Zeichen- und Codeidentifikation, es ist ein Code-Golf, der als Beliebtheitswettbewerb gewertet wird und das Schlimmste von beiden erzielt.
Victor Stafusa

4
@ Timtech: Es ist Abstimmung und Zitat.
Keba

2
Haben Sie darüber nachgedacht, die Frage zu verbessern? / Das hätte einen besseren Eindruck machen können. / Obwohl der Schaden angerichtet ist / Wäre es nicht lustiger / Ein echtes Limerick-Coding-Konfekt herzustellen? :)
Jonathan Van Matre

1
@ Victor, "Zeichen, die sicher entfernt werden könnten" scheinen zu implizieren, dass Sie keine mehrstelligen Variablennamen verwenden können, es sei denn, sie sind Teil eines Reims. Das ist problematisch.
Jonathan Van Matre

6

Java

public static void main(String[] boat
){ int i = 1.0f
  ;if(i<2
  )System.out.println
("Hello world");} //hello world wrote


public static void main paren String arr boat
paren brace int i is one-point-oh float
sem-col if paren i is less than two
paren system dot out dot print line new //for some reason it's println, not printnl
paren quote hello world quote paren sem-col brace slash-slash hello world wrote

Beachten Sie, dass Kommentare in Java nicht wirklich optional sind


Das bin "Boot" muss entfernt werden ("Hafer" ist ein gültiger Variablenname und passt)
pppery

6

Rubin

comma = ""<<44
print "Hello" or
more = ""<<32
print comma if true
puts("World!") unless print more

Live: https://ideone.com/sirBBc

Ausgesprochen wie folgt (mit großgeschriebenen betonten Silben)

comma Equals quote-QUOTE cons four-FOUR
print QUOTE hello END quote OR
more equals QUOTE quote cons three-TWO  # ok, that was squished
print COMma if TRUE
puts QUOTE world QUOTE UNless print MORE

Das mund muss ein beiden Fällen moreentfernt werden ( oreist auch in dieser Position ein gültiges Wort)
pppery

Hm, ich glaube nicht, dass ich mich legal ormit entweder oroder reimen kann ore.
Histokrat

Dies wäre nicht das einzige Beispiel für einen Limerick mit doppelten Wörtern
pppery

4

Haskell

main = print . repeat
  $ head $ lines . init
     $ "Hello \
       \World!" #
         Just where (#) = const . id

Main gleich printful Stop wiederholen
Dollar Kopf Dollar Linie Punkt i'nnit?
Dollar Zitat Hallo Back Slash
Back Slashworld Knall Zitat Hash
Genau dort, wo parenthised Hash gleich constful ist, hör auf!

Dies beschreibt hoffentlich ziemlich gut das tatsächliche Verhalten des Programms.


2

TeX

Ich entschuldige mich im Voraus, weil dieser Code nicht als limerisch gilt, wenn Sie die Namen der einzelnen Symbole aussprechen (insbesondere, wenn Sie jeden Buchstaben für sich als Zeichen behandeln, was Sie vielleicht tun sollten). Ich habe es auf diese Weise geschrieben, um die bestmögliche Ausgabe zu erzielen, die selbst nur knapp einem Gedicht entspricht.

Sie könnten es sicher in eine Antwort verwandeln, die den Regeln entspricht, indem Sie \itjedes nicht-alphabetische Zeichen ohne Leerzeichen mit Ausnahme des letzten \bye(Vorlesen als Backslash Bye ) und vielleicht des ersten !(Vorlesen als Paukenschlag ) loswerden .

A \TeX\ program I think would comply,

And I'll tell you the reason for why:

``Hello world!'' tells the setter:

{\it ``Print each subsequent letter!''}

And we terminate with \bye.

Sie sollten Komas und Symbole am Ende jedes Verses entfernen, damit sie sich richtig reimen. Oder stellen Sie sie später in die Reihe.
Mikaël Mayer

@ MikaëlMayer: siehe die Bemerkung in meinem zweiten Absatz.
Niel de Beaudrap

2

Brainf * ck

Ok, tadle mich jetzt wegen der zahlreichen Regelverstöße. Aber ich konnte nicht anders, als das zu machen.

++++++++[>+++++++++<-
]>.---.$#
+++++++..+
++.++++++++
.--------.+++.------.--------.

Und die Ausgabe (erste Verletzung von vielen: kein Leerzeichen):

HELLOWORLD

Probieren Sie es hier aus: http://www.iamcal.com/misc/bf_debug/

Das Lesen davon:

Eight plus left more nine plus less dash
Right more dot three dash dot cash hash
Sevén plus dot dot plus
Plus plus dot eight plus
Dot eight dash dot three plus dot six dash dot eight dash.
  • Beachten Sie, dass der letzte Punkt im Programm als Punkt am Ende des Limericks steht :) [zweiter Verstoß; das ist billig]. Auch die $und #werden vom Dolmetscher ignoriert (ich war sehr stolz auf mich für diese Zeile).

  • Der Akzent auf Sevénsoll den Stress zeigen: seh-VEN

  • Dies verstößt gegen die Regel der Verwendung unterschiedlicher Symbole. Aber ehrlich gesagt habe ich einen sehr begrenzten Symbolsatz und keinen Platz, um andere (ignorierte) Zeichen einzufügen.

  • Ich habe alle Großbuchstaben verwendet, da diese in ASCII schneller zugänglich sind. Ich hatte leider keinen Platz mehr.

Endlich: Ja, ich weiß, die letzte Zeile ist schrecklich. Irgendwelche Vorschläge, um es zu verbessern? Ich bin mir nicht sicher, ob Sie dieses Programm noch komprimieren könnten. Vielleicht, indem Sie wiederholte Briefe an ihren eigenen Positionen speichern?


Ich habe gerade festgestellt, dass der Code dadurch zwar länger wird, aber durch das Entrollen der ersten Schleife in 72 +etwas Platz im Limerick gespart wird. Aber ich werde meine Antwort so lassen, wie sie ist.
Baum

2

C #

Ich habe mir ein paar kleine Freiheiten bei den Regeln genommen, da echte phonetische C-Varianten viel zu viel "Semikolon" beinhalten würden, was, wie wir alle wissen, kein besonders guter Reim für irgendetwas ist.

{
     string unfurled = "Hello World!";
     Console.WriteLine(unfurled);
}

offene Klammer, String genannt ungekräuselt

Erstellt um "Hallo Welt" zu lesen

Konsole Schreibzeile

die Zeichenfolge, die wir definiert haben

eine letzte Klammer, eine, die sich kräuselt


Sie können immer ein Semikolon am Anfang einer Zeile setzen, nicht wahr?
Mikaël Mayer

Stimmt, Mikael, aber dadurch sieht der Code sehr unordentlich aus!
BrummiePete

1
Zwischen Unordentlichem und Reimen geht es hier um Reimen. Keine Sorge, dieser Code ist nicht von Experten geprüft.
Mikaël Mayer

1

Java

class Hello {public static void main
(String[] args)
{yellow = System; yellow
.out.print("Hello
world");} }

class Hello brace public static void main
paren string bracket bracket args paren
 brace yellow equals system sem-col yellow
 dot out dot print paren quote hello
world quote paren sem-col brace and brace again

1
Dies wird nicht kompiliert. Wie wird yellowdeklariert?
ζ--

1

Stapel

@echo off >dull
set /p "=Hello "<nul
set w=World
echo %w%! || Furled
del dull || cull

at echo off to dull
set Schrägstrich p quote equal Hallo quote from nul
set w equal
Weltecho Prozent w Prozent Knallrohrrohr Furled
del dull pipe pipe cull


Finden Sie einen anderen Reim langweilig / langweilig?
Mikaël Mayer

@ MikaëlMayer es ist eher nutzloser Code, aber ja.
Unclemeat

1

CSS

title>me
,body lets go party
only a stylesheet,html
:after { content: 'hello world'; font-family:Rockwell
; color: #adad20

Ausgänge:

Titel größer als ich

Komma Körper lässt Party gehen

nur ein Stylesheet Komma HTML

Doppelpunkt nach Klammer Inhalt Doppelpunkt Zitat Hallo Welt Zitat Semikolon Schriftfamilie Doppelpunkt Rockwell

Semikolon Doppelpunkt Hashtag ein Vater zwanzig

Getestet in Firefox und Chrome


1
#include <stdio.h> //
void main (void){
printf("Hello, World");
//just for rhyme I say stolon
} /**/

Hash enthält nach einem Leerzeichen weniger als stdio dot h als doppelter Schrägstrich

void main left paren void right paren left brace

printf left paren quote Hallo Komma World quote right paren Semikolon

doppelter Schrägstrich nur für Reim, sage ich Stolon

rechte Klammer und doppelter Stern zwischen Schrägstrichen an der letzten Stelle


Nizza für die ersten beiden Reime, aber Sie verwenden zweimal das gleiche Symbol, um (Semikolon) zu reimen, was nicht erlaubt ist.
Mikaël Mayer

Debugged, aber ich denke, ein weiterer Fehler ist aufgetreten.
Nayuta Ito

0

Windows Batch

Die gesprochenen Wörter werden auch in der Batch-Datei gespeichert und mit der letzten Zeile des tatsächlichen Codes übersprungen.

@echo off >nul
set hi=Hello World
rem Now print the string,
echo !hi!
goto :) to skip the words

at echo off, greater than nul,
set H I equals sign, Hello World,
rem Now print the string,
echo pling, H I, pling
goto smile, to skip the words

:)

Bearbeiten: Damit das Skript funktioniert, muss die verzögerte Erweiterung aktiviert sein. Verwenden cmd /v:onund starten Sie es von dort aus.


1
nul, worldUnd wordsReim nicht. Das Muster muss AABBA sein. Auch das Komma danach stringsollte ausgesprochen werden.
Unclemeat

0

print 'Die Buchstabentasten auf meiner Tastatur'
print 'reichen aus, um Hello World
print' zu sagen , wenn ich den dunklen '
print' eintippe, der hier im Park sitzt
eingebe fühle mich schrecklich, schrecklich gelangweilt.'


Beachten Sie die Regeln: Symbole wie 'werden vorgelesen und zählen zum Reimschema. Willkommen bei PPCG!
Jonathan Van Matre

Also technisch funktioniert es. Es heißt nicht, dass Aes nicht sein kann B.
CompuChip

0

Python (3)

print('''Nose
No punctuation hear close
Hello World
Hurled and swerled
Goodbye now''')

Drucken öffnen Zitat Zitat Zitat Nase, keine Interpunktion hören schließen, Hallo Welt, geschleudert und aufgewirbelt, Auf Wiedersehen jetzt Zitat Zitat schließen.


Willkommen auf der Seite und schönen ersten Beitrag!
Caird Coinheringaahing
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.