Limerick Hello World [ditutup]


28

Program berima yang Anda tulis
Berusaha memenangkan pertarungan
Untuk memenangkan kontes dan memberikan suara
Ini harus menghitung "Hello World"
Kemudian cetak dengan sangat sopan

Puisi paling populer akan menang.

Persyaratannya adalah:

  • Puisi harus dari 5 baris dengan AABBA berima
  • Ini dapat mencetak apa pun yang Anda inginkan, tetapi output harus mengandung "hello world" (huruf besar / kecil tidak masalah, kutipan tidak termasuk dalam output)
  • Simbol dibaca dengan keras. Misalnya, baris keempat di atas berbunyi: Ini harus menghitung kutipan halo kutipan dunia
  • Posting di bawah kode Anda, pada pratinjau kode lain, versi "baca-keras" kode Anda untuk disambiguasi pada simbol khusus.

Tidak termasuk puisi:

  • termasuk kode mati, atau karakter yang dapat dihapus dengan aman tanpa mengubah sajak atau fungsi
  • Menggunakan komentar sebagai cara untuk berima (kecuali jika ada alasan bagus untuk itu)
  • menggunakan simbol yang sama dengan akhir frase untuk sajak.

Dalam kasus seri, program yang menghasilkan puisi akan menang. Jika masih ada seri, program yang lebih pendek akan menang.

Baris baru tidak masuk hitungan. spasi, tab, dan baris baru tidak terbaca dengan keras. Misalnya, "Halo, dunia!" akan dibacakan dengan keras "tanda kutip ganda koma dunia tanda seru tanda kutip ganda".


The seluruh kebutuhan program untuk menjadi lima baris? Tidak bisakah jawaban hanya berupa cuplikan dari perintah yang diperlukan? Tidak termasuk deklarasi kelas / fungsi dan semuanya?
mikhailcazi

Ya, keseluruhan program harus terdiri dari lima baris. Cobalah untuk menyebar definisi Anda dan sertakan sepanjang garis. Kebanyakan PL memiliki cara untuk memasukkan banyak kalimat pada satu baris dengan semi-kolon atau serupa.
Mikaël Mayer

Saya melihat bahwa banyak jawaban berusaha menghasilkan limerick, karena Anda menyebutkan kata itu dalam judul Anda, tetapi tidak dalam persyaratan Anda.
TRiG

Itu benar. Saya hanya ingin programnya menjadi limerick.
Mikaël Mayer

Saya memberikan suara untuk menutup ini terlalu luas karena tidak ada cara untuk menentukan secara objektif apakah jawaban itu valid.
Wheat Wizard

Jawaban:


86

Ruang putih

Program berima saya tulis  	   
	
     		  	 	
	
puisi ruang putih dan gembung ini		 		  
	
     		 		  
	
karena baris baru tidak masuk hitungan  		 				
	
     	     
	
meskipun jumlahnya   	 	 			
	
     		 				
	
jadi layak untuk upvote tulus Anda 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Whitespace (bahasa pemrograman) Juru Bahasa
Online untuk Menguji Jawaban

Keluaran:

Halo Dunia

3
Ini entah bagaimana mengingatkan saya pada The Beatles ' Come Together .
user12205

7
Ini pasti "atas saya"
Tonton Bob

6
Dikecualikan: Menggunakan komentar sebagai cara untuk berima
Bukannya Charles

2
Yah, saya lupa bahwa karakter lain adalah komentar di spasi putih. Saya tidak berpikir saya akan mematuhi aturan ini karena jika tidak maka akan merusak pemenang ini.
Mikaël Mayer

3
@ MikaëlMayer Saya pikir Anda harus mematuhi peraturan. Saya menduga banyak dari suara ini kebanyakan dari orang-orang yang baru saja menemukan pesona Whitespace. Secara pribadi, saya lebih tertarik melihat jawaban dalam semangat tantangan sebenarnya dari berima kode.
Jason C

60

HTML

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

Saya harus menjadi sedikit liberal dengan pengucapan kalimat terakhir. Saya harap itu tidak melanggar aturan. Ini juga tidak 100% valid per W3C, tetapi berfungsi di sebagian besar browser.

<!--
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 untuk pengucapan ulang yang cerdas ... + "Bang, I'm a goat" komentar ...
WallyWest

5
+1 untuk dibaca ><sebagai "tidak sama"
John Dvorak

3
Seorang pemula puisi yang ia tulis-a / Berharap untuk mendapatkan hanya satu suara-a / Dan sekarang dalam perlombaan ini / Dia di tempat kedua! / Dengan perwakilan sebanyak beberapa tahun di StackOverflow-ta.
cobaltduck

26

Javascript

Saya tahu ini tidak sesuai aturan, tapi saya tidak bisa menolak

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
Kreatif dan cerdik.
Damon Swayn

3
Tidak perlu mendefinisikan ulang gadis di baris kedua tapi saya masih menyukainya.
howderek

23

Python

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

atau,

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

Saya secara sukarela mendaftar ke aturan tambahan, karena saya pikir (1) limerick harus memiliki meteran yang baik dan (2) yang terbaik memiliki kejutan di baris terakhir.

(Dengan akhir yang ditafsirkan dalam bahasa Inggris, saya pikir Anda dapat menentukan sendiri jenis braket yang tidak cocok. Mengenai persyaratan kode mati, tidak ada yang dapat dihapus tanpa mengubah setidaknya satu sajak, ritme, atau keluaran. ).


Seseorang dapat menghapus hash tanpa mengubah fungsionalitas atau sajak. Itu memang mengubah ritme seperti yang Anda nyatakan, tetapi kondisi pertanyaannya cukup jelas di sini, saya pikir.
Keba

1
Karena sifat puisi adalah untuk menekuk aturan, saya bisa hidup dengannya. Yang mengatakan, tidak jelas bagi saya bahwa meter bukan bagian dari konsep sajak OP.
Tontonan Bob

3
Meh Berirama "braket" dengan sendirinya tiga kali hanya malas limericking.
MikeTheLiar

Ya, saya merasa tidak enak tentang itu. Tetapi itu adalah simbol yang berbeda untuk setiap sajak, seperti yang diminta oleh OP.
Tontonan Bob

14

Haskell

Mengambil beberapa kebebasan dengan pelafalan simbol-simbol tertentu, yaitu konstruksi Tuple (,,) dan aplikasi fungsi ($).

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

Pembacaan seharusnya:

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

Jika dalam kurung satu mengikuti tanda seru

dan beri tahu dunia di dalam tanda kurung setelah hati entitas

tebas, tebas dan bakar

sama dengan uang tunai, uang tunai, pengembalian

satu lebih besar dari jumlah bagiannya


3
Saya rasa saya tidak tahu siapa pun yang menyebut "$" sebagai "uang tunai," walaupun saya akui tidak menulis JavaScript.
Carl Witthoft

1
+1 Saya suka transkripsi non-literal, dan "entitas hati" agak lucu, meskipun kebebasan melanggar batas.
Jason C

8

DASAR

Lebih khusus lagi, Chipmunk Basic . Aturan sintaksis telah diregangkan hampir ke titik putus, jadi mungkin tidak mungkin untuk menjalankan ini dalam dialek lain tanpa modifikasi.

Sumber:

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

Versi "Baca-keras":

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

Catatan:

  • Tidak ada nomor baris dalam kode sumber, tetapi masih akan memuat dan berjalan tanpa masalah (lihat di bawah).
  • The $sigil dibaca sebagai "string" dalam konteks program BASIC (lihat, misalnya, halaman Wikipedia ini ).

Dan inilah bukti bahwa itu benar-benar berfungsi:

ambil layar dari program yang berjalan di Mac OS X


Bagaimana Anda membuat gif ini?
Kartik

@Kartik Saya menggunakan aplikasi bernama IShowU
squeamish ossifrage

6

Pesta

Karena jawabannya hanya dipaksa untuk mengandung frasa "Hello World", solusi termudah adalah:

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
Legal dalam aturan, tetapi jawaban ini tidak menyenangkan di pesta. meta.codegolf.stackexchange.com/a/1063/3363
Jonathan Van Matre

1
@JonathanVanMatre Itu adalah tanda bahwa masalahnya ada di pertanyaan. Apa pun yang berbeda dari sekadar mencetak langsung hasilnya akan sangat luar biasa. Lebih jauh lagi aturan "dikecualikan" pertama menghambat sesuatu yang lebih kreatif, bahkan nama variabel dengan lebih dari satu karakter dan identifikasi kode, ini adalah kode-golf yang dievaluasi sebagai kontes popularitas, mendapatkan yang terburuk dari keduanya.
Victor Stafusa

4
@Timtech: Ini Vote dan Kutipan.
Keba

2
Apakah Anda mempertimbangkan untuk meningkatkan pertanyaan? / Itu mungkin membuat kesan yang lebih baik. / Meskipun kerusakan sudah terjadi / Bukankah itu akan lebih menyenangkan / Untuk membuat konpeksi kode-limerick? :)
Jonathan Van Matre

1
@ Viktor, "karakter yang dapat dihapus dengan aman" tampaknya menyiratkan bahwa Anda tidak dapat menggunakan nama variabel multi-karakter kecuali di mana mereka adalah bagian dari sajak. Itu bermasalah.
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

Perhatikan bahwa komentar tidak benar-benar opsional di Jawa


Dalam b"perahu" perlu dihapus ("oat 'adalah nama variabel yang valid, dan cocok)
pppery

6

Rubi

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

Langsung: https://ideone.com/sirBBc

Diucapkan sebagai berikut (dengan suku kata tertekan dikapitalisasi)

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

The mdan edalam kedua kasus moreyang perlu dihapus ( oreadalah kata yang valid di posisi itu juga)
pppery

Hm, saya tidak berpikir saya bisa berima secara hukum ordengan salah satu oratau ore.
histokrat

Ini tidak akan menjadi satu-satunya contoh limerick dengan kata
pppery

4

Haskell

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

Utama sama dengan stop
berhenti cetak.
Dollar quote hello back slash
Kembali slashworld bang quote hash
Persis seperti hash parenthised sama dengan constful, hentikan!

Mudah-mudahan ini menggambarkan perilaku program yang sebenarnya.


2

TeX

Saya mohon maaf sebelumnya, karena kode ini tidak dianggap sebagai limerik jika Anda mengucapkan nama masing-masing simbol individu (terutama jika Anda memperlakukan setiap huruf dengan sendirinya sebagai token, yang mungkin seharusnya Anda lakukan). Saya telah menulisnya dengan cara ini untuk menghasilkan keluaran terbaik, yang dengan sendirinya menjadi puisi.

Anda dapat dengan aman mengubahnya menjadi jawaban yang sesuai dengan aturan dengan menyingkirkan \itdan setiap karakter non-alfabet, non-spasi putih kecuali untuk yang terakhir \bye(baca dengan keras sebagai backslash bye ) dan mungkin yang pertama !(baca dengan keras sebagai bang ).

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.

Anda harus menghapus koma dan simbol di akhir setiap ayat untuk membiarkannya berima dengan benar. Atau taruh dalam barisan sesudahnya.
Mikaël Mayer

@ MikaëlMayer: lihat komentar di paragraf kedua saya.
Niel de Beaudrap

2

Brainf * ck

Oke, tegur saya sekarang karena banyak pelanggaran aturan. Tapi saya tidak bisa menahan untuk membuatnya.

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

Dan hasilnya (pelanggaran pertama banyak: tidak ada ruang):

HELLOWORLD

Coba di sini: http://www.iamcal.com/misc/bf_debug/

Bacaan itu:

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.
  • Perhatikan bahwa titik terakhir dalam program ditempatkan sebagai periode di akhir limerick :) [pelanggaran kedua; ini murah]. Juga, $dan #diabaikan oleh penerjemah (saya sangat bangga pada diri saya untuk baris ini).

  • Aksen aktif Sevénadalah untuk menunjukkan tekanan: seh-VEN

  • Ini melanggar aturan menggunakan simbol yang berbeda. Tapi jujur ​​saya punya set simbol yang sangat terbatas dan tidak ada ruang untuk menambahkan karakter lain (diabaikan).

  • Saya menggunakan semua huruf besar karena lebih cepat diakses di ASCII. Sayangnya, saya tidak punya ruang untuk ruang.

Akhirnya: ya, saya tahu kalimat terakhir itu mengerikan. Ada saran untuk memperbaikinya? Saya tidak yakin apakah Anda bisa mengompres program ini lagi; mungkin dengan menyimpan surat berulang di posisi mereka sendiri?


Baru menyadari bahwa sementara ini akan membuat kode lebih lama, membuka gulungan loop awal ke 72 +akan menghemat ruang di limerick. Tapi aku akan menjaga jawabanku apa adanya.
baum

2

C #

Saya telah mengambil sedikit kebebasan dengan aturan karena varian C yang benar-benar fonetik akan melibatkan terlalu banyak menggunakan "semi-kolon" yang, seperti kita semua tahu, bukanlah sajak yang sangat baik untuk apa pun.

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

open brace, string yang disebut unfurled

dibuat untuk membaca "halo dunia"

baris tulis konsol

string yang kami definisikan

penjepit terakhir, yang melengkung


Anda selalu dapat menempatkan titik koma di awal baris baru, bukan?
Mikaël Mayer

Benar, Mikael, tetapi itu membuat kodenya terlihat sangat berantakan!
BrummiePete

1
Antara tidak teratur dan berima, di sini intinya adalah tentang berima. Jangan khawatir, kode ini tidak ditinjau oleh rekan sejawat.
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
Ini tidak dikompilasi. Bagaimana yellowdideklarasikan?
ζ--

1

Batch

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

at echo off to dull
set slash p quote sama Halo kutipan dari nul
set w sama World
echo persen w persen bang pipa pipa Furled
del dull pipa pipa cull


Dapatkah Anda menemukan sajak lain yang membosankan?
Mikaël Mayer

@ MikaëlMayer itu kode yang lebih tidak berguna, tapi ya.
buka tutup

1

CSS

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

Output:

judul lebih besar dari saya

badan koma mari kita pergi pesta

hanya html koma stylesheet

titik dua setelah tanda kurung konten tanda kutip halo kutipan dunia titik koma font-keluarga usus Rockwell

tanda titik koma usus besar dua puluh tahun

Diuji di Firefox dan Chrome


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

hash termasuk kurang dari stdio dot h lebih besar dari garis miring ganda setelah spasi

batal utama kiri kiri batal kanan kiri kiri

printf kutip kiri paren Halo koma Dunia kutip paren kanan setengah

slash ganda hanya untuk sajak saya katakan stolon

kurung kanan dan tanda bintang ganda antara garis miring di tempat terakhir


Bagus untuk dua sajak pertama, tetapi Anda menggunakan dua kali simbol yang sama untuk sajak (semi-kolon), yang tidak diperbolehkan.
Mikaël Mayer

Didebug, tapi saya rasa bug lain muncul.
Nayuta Ito

0

Windows Batch

Kata-kata yang diucapkan juga disimpan dalam file batch, dan dilewati dengan baris terakhir dari kode aktual.

@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

:)

Sunting: Anda harus mengaktifkan perluasan yang tertunda agar skrip berfungsi. Gunakan cmd /v:ondan jalankan dari sana.


1
nul,, worlddan wordsjangan berima. Polanya harus AABBA. Juga koma setelah stringharus diucapkan.
buka tutup

0

mencetak 'tombol huruf pada keyboard saya'
cetak 'sudah cukup untuk mengatakan Hello World
print' ketika saya mengetik dalam '
cetak ' gelap yang duduk di taman ini '
print'feeling mengerikan, sangat bosan'


Perhatikan aturan: simbol seperti ' dibaca keras-keras dan dihitung sebagai bagian dari skema berima. Selamat datang di PPCG!
Jonathan Van Matre

Jadi secara teknis itu berfungsi. Tidak dikatakan Atidak mungkin B.
CompuChip

0

Python (3)

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

Cetak kutipan kutipan kutipan kutipan hidung, Tidak ada tanda baca dekat, Hello World, Hurled and swerled, Selamat tinggal sekarang kutip kutipan kutipan dekat.


Selamat datang di situs ini, dan posting pertama yang bagus!
caird coinheringaahing
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.