Limerick Hello World [zamknięte]


28

Program do rymowania, który piszesz
Próba wygrania walki
Za wygraną w konkursie i głosowanie
Musi obliczyć „Hello World”, a
następnie wydrukować go bardzo uprzejmie

Najpopularniejszy wiersz wygra.

Wymagania są następujące:

  • Wiersz powinien składać się z 5 linii z rymowankami AABBA
  • Może drukować, co tylko chcesz, ale wynik powinien zawierać „hello world” (wielkie / małe litery nie mają znaczenia, cytaty nie są dołączane do wyniku)
  • Symbole są odczytywane na głos. Na przykład czwarty wiersz powyżej brzmi: Musi obliczyć cytat witaj, świecie cytat
  • Opublikuj poniżej kodu, na innym podglądzie kodu, w wersji „czytaj na głos” kodu, aby ujednoznacznić specjalne symbole.

Wyłączone są wiersze:

  • w tym martwy kod lub znaki, które można bezpiecznie usunąć bez zmiany rymów lub funkcji
  • Używanie komentarzy jako sposobu rymowania (chyba że istnieje ku temu dobry powód)
  • używając tego samego symbolu jako końca frazy dla rymu.

W przypadku remisu wygrywają programy wydające wiersz. Jeśli nadal jest remis, krótsze programy wygrywają.

Nowe linie się nie liczą. spacje, tabulatory i znaki nowej linii nie są odczytywane na głos. Na przykład „Witaj, świecie!” zostanie odczytane na głos: „podwójny cytat witaj przecinek świat wykrzyknik podwójny cytat”.


W całych potrzeby program do pięciu linii? Czy odpowiedź nie może być po prostu fragmentem wymaganych poleceń? Z wyłączeniem deklaracji klasy / funkcji i wszystkich innych?
mikhailcazi

Tak, cały program musi składać się z pięciu linii. Spróbuj rozszerzyć swoje definicje i uwzględnić je wzdłuż linii. Większość PL ma sposób na umieszczenie wielu zdań w jednym wierszu z średnikiem lub podobnym.
Mikaël Mayer

Widzę, że wiele odpowiedzi próbuje stworzyć limeryki, ponieważ wspominasz to słowo w tytule, ale nie w swoich wymaganiach.
TRiG

To prawda. Chcę tylko, żeby program był limerykiem.
Mikaël Mayer

Głosuję za zamknięciem tego tekstu jako zbyt szerokiego, ponieważ nie ma możliwości obiektywnego ustalenia, czy odpowiedź jest prawidłowa.
Wheat Wizard

Odpowiedzi:


86

Biała przestrzeń

Program rymowania, który napisałem  	   
	
     		  	 	
	
ten wiersz białych znaków i wzdęć		 		  
	
     		 		  
	
ponieważ nowe linie się nie liczą  		 				
	
     	     
	
pomimo kwoty   	 	 			
	
     		 				
	
więc zasługuje na twoje najszczersze głosowanie 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Whitespace (język programowania)
Interpreter online do testowania odpowiedzi

Wydajność:

Witaj świecie

3
To jakoś przypomina mi The Beatles' Come Together .
user12205

7
To z pewnością „nade mną”
pokaz boczny Bob

6
Wykluczono: używanie komentarzy jako sposobu rymowania
Nie to, że Charles

2
Cóż, zapomniałem, że inne znaki to komentarze w białych znakach. Nie sądzę, bym zachował tę zasadę, bo inaczej zrujnowałoby to zwycięzcę.
Mikaël Mayer

3
@ MikaëlMayer Myślę, że powinieneś zachować zasadę. Podejrzewam, że wiele z tych głosów pochodzi głównie od ludzi, którzy dopiero odkrywają urok Białej Przestrzeni. Osobiście jestem bardziej zainteresowany widzeniem odpowiedzi w duchu prawdziwego wyzwania związanego z rymowaniem kodu.
Jason C

60

HTML

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

Musiałem być trochę liberalny z wymową ostatniej linii. Mam nadzieję, że to nie łamie zasad. Nie jest również w 100% poprawny dla W3C, ale działa w większości przeglądarek.

<!--
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 za sprytne ponowne wymowy ... + komentarz „Bang, I'm a goat” ...
WallyWest

5
+1 za czytanie ><jako „nie równe”
John Dvorak

3
Nowicjusz wiersz, który napisał -A / Mając nadzieję, że dostanie tylko jeden głos -a / A teraz w tym wyścigu / On jest na drugim miejscu! / Z taką samą liczbą powtórzeń jak kilka lat na StackOverflow-ta.
cobaltduck

26

JavaScript

Wiem, że to nie jest zgodne z zasadami, ale nie mogłem się oprzeć

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
Kreatywny i genialny.
Damon Swayn

3
Nie było potrzeby redefiniować dziewczyny na drugiej linii, ale nadal ją kocham.
howderek

23

Pyton

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

lub,

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

Dobrowolnie zapisuję się do dodatkowych zasad, ponieważ uważam (1), że limeryki powinny mieć dobry licznik i (2), że najlepsze mają niespodziankę w ostatniej linii.

(Po interpretacji zakończenia zwykłym angielskim, wydaje mi się, że możesz sam ustalić, jakiego rodzaju nawias nie ma sobie równych. Jeśli chodzi o wymóg braku martwego kodu, niczego w nim nie można usunąć bez zmiany choćby jednego rymu, rytmu lub wyjścia ).


Można usunąć skrót bez zmiany funkcjonalności lub wierszyka. To nie zmienia rytm, jak stwierdzić, ale warunki pytaniu są dość jasne tutaj, myślę.
Keba

1
Ponieważ naturą poezji jest naginanie zasad, mogę z tym żyć. To powiedziawszy, nie jest dla mnie jasne, że miernik i tak nie jest częścią koncepcji rymu OP.
Pokaz boczny Bob

3
Meh Trzykrotne rymowanie „nawiasu” ze sobą jest po prostu leniwym limerykiem.
MikeTheLiar

Tak, źle się z tym czuję. Jest to jednak inny symbol dla każdego wiersza, zgodnie z żądaniem OP.
Pokaz boczny Bob

14

Haskell

Korzystanie z niektórych swobód przy wymowie niektórych symboli, np. Budowa (,,) i zastosowanie funkcji Tuple ($).

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

Odczyt ma być:

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

Jeśli w nawiasach pojawia się wykrzyknik

i ostrzegaj świat w nawiasach za sercami istot

ciąć, ciąć i palić

równa się gotówka, gotówka, zwrot

jeden jest większy niż suma jego części


3
Nie sądzę, że znam nikogo, kto wymawia „$” jako „gotówkę”, chociaż przyznaję, że nie piszę JavaScript.
Carl Witthoft,

1
+1 Podoba mi się nieliteralna transkrypcja, a „serca bytów” są dość zabawne, pomimo swobód łamania linii.
Jason C

8

PODSTAWOWY

W szczególności Chipmunk Basic . Reguły składniowe zostały rozciągnięte niemal do punktu krytycznego, więc uruchomienie innych dialektów bez modyfikacji może być niemożliwe.

Źródło:

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

Wersja „Czytaj na głos”:

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

Uwagi:

  • W kodzie źródłowym nie ma numerów wierszy, ale nadal będzie się ładował i działał bez żadnych problemów (patrz poniżej).
  • $Sigil jest odczytywany jako „string” w kontekście programów podstawowego (patrz np stronę Wikipedii ).

A oto dowód, że to naprawdę działa:

zrzut ekranu programu działającego w systemie Mac OS X


Jak zrobiłeś ten gif?
Kartik

@Kartik Użyłem aplikacji o nazwie IShowU
squeamish ossifrage

6

Grzmotnąć

Ponieważ odpowiedź jest zmuszona zawierać tylko wyrażenie „Hello World”, najłatwiejszym rozwiązaniem powinno być:

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
Zgodne z prawem, ale ta odpowiedź nie jest zabawą na imprezach. meta.codegolf.stackexchange.com/a/1063/3363
Jonathan Van Matre

1
@JonathanVanMatre To znak, że problem dotyczy pytania. Wszystko inne niż tylko bezpośrednie wydrukowanie byłoby zbędne. Co więcej, pierwsza „wykluczona” reguła blokuje cokolwiek bardziej kreatywnego, nawet zmienne nazwy z więcej niż jednym charakterem i identyfikacją kodu, jest to golf golfowy oceniany jako konkurs popularności, uzyskując najgorsze z tych dwóch.
Victor Stafusa,

4
@Timtech: To głosowanie i cytowanie.
Keba

2
Czy zastanawiałeś się nad poprawieniem pytania? / To mogłoby zrobić lepsze wrażenie. / Chociaż szkoda została wyrządzona / Czy nie byłoby więcej zabawy / Zrobić prawdziwą słodycze kodujące limeryk? :)
Jonathan Van Matre

1
@Victor, „znaki, które można bezpiecznie usunąć” wydają się sugerować, że nie można używać wieloznakowych nazw zmiennych, chyba że są one częścią rymu. To jest problematyczne.
Jonathan Van Matre

6

Jawa

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

Pamiętaj, że komentarze nie są tak naprawdę opcjonalne w Javie


W b„boat” należy usunąć („owsa” jest prawidłową nazwą zmiennej i pasuje)
pppery

6

Rubin

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

Na żywo: https://ideone.com/sirBBc

Wymawiane w następujący sposób (z podkreślonymi sylabami pisanymi wielką literą)

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

mI ew obie instancje morenależy usunąć ( oreto ważne słowo w tej pozycji zbyt)
pppery

Hm, nie sądzę, żebym mogła legalnie rymować się orz którymkolwiek orlub ore.
histocrat

To nie byłby jedyny przykład
limeryka

4

Haskell

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

Główny równa się drukuj stop powtórz kropka
dolara kropka linii dolara prawda?
Dolar cytat witaj z powrotem slash
Wstecz slashworld hash cytat hash
Tylko tam, gdzie nawiasowy hash jest ciągły, przestań!

Miejmy nadzieję, że opisuje to całkiem dobrze faktyczne zachowanie programu.


2

TeX

Z góry przepraszam, ponieważ ten kod nie liczy się jako limeryk, jeśli wymawiasz nazwy każdego z poszczególnych symboli (zwłaszcza jeśli traktujesz każdą literę samemu jako token, co być może powinieneś). Napisałem to w ten sposób, aby uzyskać jak najładniejszy efekt, który sam w sobie nie jest po prostu wierszem.

Możesz bezpiecznie zamienić go w odpowiedź zgodną z regułami, pozbywając się \itwszystkich niealfabetycznych znaków niebędących białymi znakami, z wyjątkiem końcowego \bye(czytanego na głos jako ukośnik odwrotny ) i być może pierwszego !(czytanego na głos jako huk ).

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.

Powinieneś usunąć przecinki i symbole na końcu każdego wersetu, aby pozwolić im poprawnie rymować. Lub umieść je w kolejce później.
Mikaël Mayer

@ MikaëlMayer: patrz uwaga w moim drugim akapicie.
Niel de Beaudrap

2

Brainf * ck

Ok, skardzcie mnie teraz za liczne naruszenia zasad. Ale nic nie mogłem na to poradzić.

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

I wynik (pierwsze naruszenie wielu: brak spacji):

HELLOWORLD

Wypróbuj tutaj: http://www.iamcal.com/misc/bf_debug/

Czytanie:

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.
  • Uwaga: ostatnia kropka w programie jest umieszczana jako kropka na końcu limeryka :) [drugie naruszenie; to jest tanie]. Również $i #są ignorowane przez tłumacza (byłem bardzo dumny z siebie z tej linii).

  • Akcentem Sevénjest pokazanie stresu: seh-VEN

  • Narusza to zasadę używania różnych symboli. Ale szczerze mówiąc, mam bardzo ograniczony zestaw symboli i nie ma miejsca na dodawanie innych (ignorowanych) znaków.

  • Użyłem wszystkich wielkich liter, ponieważ są one szybsze w ASCII. Niestety nie miałem miejsca na miejsce.

Wreszcie: tak, wiem, że ostatnia linia jest okropna. Wszelkie sugestie, aby to poprawić? Nie jestem pewien, czy mógłbyś już skompresować ten program; może przechowując powtarzające się litery na swoich miejscach?


Właśnie zdałem sobie sprawę, że choć wydłuży to kod, rozwinięcie początkowej pętli w 72 +pozwoli zaoszczędzić trochę miejsca w limeryku. Ale zachowam odpowiedź tak, jak jest.
baum

2

DO#

Podjąłem kilka drobnych swobód z regułami, ponieważ prawdziwie fonetyczne warianty C wymagałyby zbyt dużego użycia „średnika”, co, jak wszyscy wiemy, nie jest szczególnie dobrym rymowaniem do niczego.

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

otwarta klamra, sznur zwany rozwiniętym

stworzony, by przeczytać „witaj świecie”

linia zapisu konsoli

ciąg, który zdefiniowaliśmy

ostatnia klamra, zwinięta


Zawsze możesz umieścić średnik na początku nowej linii, nie?
Mikaël Mayer

To prawda, Mikael, ale sprawia, że ​​kod wygląda bardzo nieporządnie!
BrummiePete,

1
Pomiędzy niechlujny i rymowany, tutaj chodzi o rymowanie. Nie martw się, ten kod nie jest recenzowany.
Mikaël Mayer

1

Jawa

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
To się nie kompiluje. Jak yellowzadeklarowano?
ζ--

1

Partia

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

przy echu off do tępego
zestawu slash p cytat równy Witam cytat z nul
zestawu w równy
Procent echa świata w procentach huk rury fajki Zwinięty
del matowy


Czy możesz znaleźć inny wierszyk nudny / nudny?
Mikaël Mayer

@ MikaëlMayer to bardziej bezużyteczny kod, ale tak.
bezładne marc

1

CSS

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

Wyjścia:

tytuł większy ode mnie

przecinek ciała pozwala imprezować

tylko arkusz stylów przecinek html

dwukropek po nawiasach treść dwukropek cytat witaj świecie cytat średnik czcionka-rodzina dwukropek Rockwell

średnik kolor dwukropek hashtag tata dwadzieścia

Testowane w Firefox i Chrome


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

skrót zawiera mniej niż stdio kropkę h większy niż podwójny ukośnik po spacji

void główny lewy paren void prawy paren lewy klamra

printf left paren cytat Hello przecinek Świat cytat prawy paren semi dwukropek

podwójny ukośnik tylko dla rymu Mówię stolon

prawy nawias klamrowy i podwójna gwiazdka między ukośnikami w ostatnim miejscu


Fajny dla pierwszych dwóch rymów, ale używasz dwa razy tego samego symbolu do rymowania (średnik), co jest niedozwolone.
Mikaël Mayer,

Debugowano, ale chyba pojawił się kolejny błąd.
Nayuta Ito,

0

Pakiet Windows

Wypowiedziane słowa są również zapisywane w pliku wsadowym i pomijane z ostatnim wierszem rzeczywistego kodu.

@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

:)

Edycja: Aby skrypt działał, musisz włączyć opóźnione rozszerzenie. Użyj cmd /v:oni uruchom go stamtąd.


1
nul, worldi wordsnie rymuj się. Wzorem musi być AABBA. stringNależy również wymówić przecinek po .
niestosowne

0

print „klawisze liter na mojej klawiaturze„
print ”wystarczają, by powiedzieć„ Hello World
print ”, kiedy piszę w ciemnym„
print ”siedzącym tutaj w parku„
print ” czuję się strasznie, strasznie znudzony”


Zwróć uwagę na zasady: symbole, które 'są odczytywane na głos i są liczone jako część schematu rymowania. Witamy w PPCG!
Jonathan Van Matre

Więc technicznie to działa. Nie mówi, że Anie może być B.
CompuChip

0

Python (3)

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

Drukuj otwórz cytat cytat cytat z nosa, nie interpunkcja słyszeć blisko, Witaj świecie, rzucił i zawrócił, do widzenia teraz cytat cytat zamknij cytat.


Witamy na stronie i miły pierwszy post!
caird coinheringaahing 11.11.17
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.