Limerick Hello World [đã đóng cửa]


28

Một chương trình có vần điệu bạn viết
Cố gắng giành chiến thắng trong cuộc chiến
Để giành chiến thắng trong cuộc thi và bỏ phiếu
Nó phải tính toán "Xin chào thế giới"
Sau đó in nó rất lịch sự

Bài thơ phổ biến nhất sẽ giành chiến thắng.

Các yêu cầu là:

  • Bài thơ nên có 5 dòng có vần AABBA
  • Nó có thể in bất cứ thứ gì bạn muốn, nhưng đầu ra phải chứa "hello world" (chữ hoa / chữ thường không quan trọng, dấu ngoặc kép không có trong đầu ra)
  • Biểu tượng được đọc to. Ví dụ, dòng thứ tư ở trên được đọc: Nó phải tính toán trích dẫn hello world quote
  • Đăng bên dưới mã của bạn, trên một bản xem trước mã khác, phiên bản "đọc to" của mã của bạn để định hướng trên các ký hiệu đặc biệt.

Không bao gồm những bài thơ:

  • bao gồm mã chết hoặc các ký tự có thể được xóa một cách an toàn mà không thay đổi các vần hoặc chức năng
  • Sử dụng bình luận như một cách để gieo vần (trừ khi có lý do chính đáng cho điều đó)
  • sử dụng cùng một ký hiệu là kết thúc cụm từ cho vần điệu.

Trong trường hợp hòa, các chương trình xuất ra một bài thơ sẽ giành chiến thắng. Nếu vẫn còn hòa, các chương trình ngắn hơn sẽ giành chiến thắng.

Dòng mới không được tính. khoảng trắng, tab và dòng mới không được đọc to. Ví dụ: "Xin chào, thế giới!" sẽ được đọc to "trích dẫn kép xin chào dấu chấm than thế giới dấu ngoặc kép".


Các toàn bộ nhu cầu của chương trình là có năm dòng? Không thể một câu trả lời chỉ đơn giản là đoạn mã của các lệnh cần thiết? Không bao gồm các khai báo lớp / hàm và tất cả?
mikhailcazi

Có, toàn bộ chương trình cần phải có năm dòng. Cố gắng truyền bá định nghĩa của bạn và bao gồm dọc theo dòng. Hầu hết PL có một cách để bao gồm nhiều câu trên một dòng với dấu chấm phẩy hoặc tương tự.
Mikaël Mayer

Tôi thấy rằng nhiều câu trả lời đang cố gắng tạo ra limericks, bởi vì bạn đề cập đến từ đó trong tiêu đề của bạn, nhưng không phải trong yêu cầu của bạn.
TRiG

Đung. Tôi chỉ muốn chương trình là một limerick.
Mikaël Mayer

Tôi đang bỏ phiếu để đóng cái này quá rộng vì không có cách nào để xác định một cách khách quan xem câu trả lời có hợp lệ không.
Thuật sĩ lúa mì

Câu trả lời:


86

Khoảng trắng

Một chương trình gieo vần tôi đã viết  	   
	
     		  	 	
	
bài thơ của khoảng trắng và sưng lên		 		  
	
     		 		  
	
bởi vì dòng mới không được tính  		 				
	
     	     
	
bất chấp số lượng   	 	 			
	
     		 				
	
rất xứng đáng với upvote chân thành nhất của bạn 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Whitespace (ngôn ngữ lập trình)
Phiên dịch trực tuyến để kiểm tra câu trả lời

Đầu ra:

Chào thế giới

3
Điều này bằng cách nào đó làm tôi nhớ đến The Beatles ' Come Together .
dùng12205

7
Đó chắc chắn là "hơn tôi"
diễn Bob

6
Không bao gồm: Sử dụng nhận xét như một cách để gieo vần
Không phải Charles

2
Chà, tôi quên rằng những ký tự khác là những bình luận trong khoảng trắng. Tôi không nghĩ rằng tôi sẽ giữ quy tắc này bởi vì điều này sẽ phá hỏng người chiến thắng này.
Mikaël Mayer

3
@ MikaëlMayer Tôi nghĩ bạn nên giữ nguyên tắc. Tôi nghi ngờ rất nhiều trong số những phiếu bầu này hầu hết là từ những người mới khám phá ra sự quyến rũ của Whitespace. Cá nhân, tôi quan tâm hơn đến việc xem câu trả lời theo tinh thần của thách thức thực sự của mã vần.
Jason C

60

HTML

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

Tôi đã có được một chút tự do với cách phát âm của dòng cuối cùng. Tôi hy vọng nó không phá vỡ các quy tắc. Nó cũng không hợp lệ 100% cho mỗi W3C, nhưng hoạt động trong hầu hết các trình duyệt.

<!--
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 cho cách phát âm lại thông minh ... + "Bang, tôi là một con dê" ...
WallyWest

5
+1 để đọc ><là "không bằng"
John Dvorak

3
Một người mới viết một bài thơ anh ấy đã viết-a / Hy vọng sẽ chỉ nhận được một phiếu bầu-a / Và bây giờ trong cuộc đua này / Anh ấy ở vị trí thứ hai! / Với nhiều đại diện như nhiều năm trên StackOverflow-ta.
cobaltduck

26

Javascript

Tôi biết điều này không nằm trong quy tắc, nhưng tôi không thể cưỡng lại

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
Sáng tạo và khéo léo.
Damon Swayn

3
Không cần xác định lại cô gái trên dòng thứ hai nhưng tôi vẫn thích nó.
howderek

23

Con trăn

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

hoặc là,

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

Tôi tự nguyện đăng ký các quy tắc bổ sung, bởi vì tôi nghĩ (1) rằng các limericks nên có đồng hồ tốt và (2) rằng những cái tốt nhất có một bất ngờ ở dòng cuối cùng.

(Với kết thúc được diễn giải bằng tiếng Anh đơn giản, tôi cho rằng bạn có thể tự mình tìm ra loại khung nào là không thể so sánh được. Đối với yêu cầu không có mã chết, không có gì có thể được loại bỏ mà không thay đổi ít nhất một vần, nhịp điệu hoặc đầu ra ).


Người ta có thể loại bỏ một hàm băm mà không thay đổi chức năng hoặc vần điệu. Nó làm thay đổi nhịp điệu như bạn nêu, nhưng điều kiện của câu hỏi được khá rõ ràng ở đây, tôi nghĩ.
Keba

1
Vì bản chất của thơ là bẻ cong quy tắc tôi có thể sống với nó. Điều đó nói rằng, không rõ ràng với tôi rằng đồng hồ không phải là một phần của khái niệm vần điệu của OP.
diễn Bob

3
Meh. Vần điệu "ngoặc" với chính nó ba lần chỉ là lười biếng hạn chế.
MikeTheLiar

Vâng, tôi cảm thấy tồi tệ về điều đó. Nhưng nó là một biểu tượng khác nhau cho mỗi vần điệu, theo yêu cầu của OP.
diễn Bob

14

Haskell

Lấy một số tự do với cách phát âm của các biểu tượng nhất định, tức là (,,) ứng dụng xây dựng và chức năng Tuple ($).

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

Việc đọc được cho là:

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

Nếu trong ngoặc một sau dấu chấm than

và cảnh báo thế giới bên trong ngoặc sau trái tim thực thể

chém, chém và đốt

bằng tiền mặt, tiền mặt, lợi nhuận

một phần lớn hơn tổng số phần của mình


3
Tôi không nghĩ rằng tôi biết bất kỳ ai phát âm "$" là "tiền mặt", mặc dù tôi thừa nhận không viết JavaScript.
Carl Witthoft

1
+1 Tôi thích bản phiên âm không theo nghĩa đen và "trái tim thực thể" thật hài hước, bất chấp sự tự do phá vỡ dòng.
Jason C

8

CĂN BẢN

Cụ thể hơn, Chipmunk Basic . Các quy tắc cú pháp đã được kéo dài gần như đến điểm phá vỡ, vì vậy có thể không thể chạy điều này trong các phương ngữ khác mà không sửa đổi.

Nguồn:

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

Phiên bản "Đọc to":

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

Ghi chú:

  • Không có số dòng trong mã nguồn, nhưng nó vẫn sẽ tải và chạy mà không gặp vấn đề gì (xem bên dưới).
  • Các $sigil được đọc là "chuỗi" trong bối cảnh các chương trình BASIC (xem, ví dụ như, trang Wikipedia này ).

Và đây là bằng chứng cho thấy nó thực sự hoạt động:

lấy màn hình chương trình đang chạy trong Mac OS X


Làm thế nào bạn thực hiện gif này?
Kartik

@Kartik Tôi đã sử dụng một ứng dụng có tên IShowU
ossifrage

6

Bash

Vì câu trả lời chỉ buộc phải chứa cụm từ "Hello World", nên giải pháp đơn giản nhất là:

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
Pháp lý trong các quy tắc, nhưng câu trả lời này là không vui trong các bữa tiệc. meta.codegolf.stackexchange.com/a/1063/3363
Jonathan Van Matre

1
@JonathanVanMatre Đó là một dấu hiệu cho thấy vấn đề nằm trong câu hỏi. Bất cứ điều gì khác với việc chỉ in trực tiếp đầu ra sẽ là siêu tốc. Hơn nữa, quy tắc "loại trừ" đầu tiên ức chế bất cứ thứ gì sáng tạo hơn, thậm chí cả các tên biến có nhiều hơn một ký tự và mã xác định, đó là một mã golf được đánh giá là cuộc thi phổ biến, trở thành thứ tồi tệ nhất trong hai loại.
Victor Stafusa

4
@Timtech: Đó là bình chọn và trích dẫn.
Keba

2
Bạn đã xem xét cải thiện câu hỏi? / Điều đó có thể đã tạo ấn tượng tốt hơn. / Mặc dù thiệt hại đã được thực hiện / Sẽ không vui hơn / Để tạo ra một loại bánh kẹo mã hóa thực sự? :)
Jonathan Van Matre

1
@Victor, "các ký tự có thể được xóa an toàn" dường như ngụ ý rằng bạn không thể sử dụng tên biến đa ký tự trừ khi chúng là một phần của vần điệu. Đó là vấn đề.
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

Lưu ý rằng các bình luận không thực sự là tùy chọn trong Java


Các btrong nhu cầu "thuyền" phải được loại bỏ ( "yến mạch' là một tên biến hợp lệ, và phù hợp)
pppery

6

Hồng ngọc

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

Trực tiếp: https://ideone.com/sirBBc

Phát âm như sau (với các âm tiết nhấn mạnh được viết hoa)

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

Các metrong cả hai trường hợp morecần phải được loại bỏ ( orelà một từ có giá trị ở vị trí đó quá)
pppery

Hừm, tôi không nghĩ rằng tôi có thể gieo vần hợp pháp orbằng một trong hai orhoặc ore.
lịch sử

Đây sẽ không phải là ví dụ duy nhất về một chiếc limerick với các từ trùng lặp
pppery

4

Haskell

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

Chính bằng lặp lại dừng in
Điểm dừng hoàn toàn của đô la đầu dòng?
Dollar quote xin chào lại slash
Trở lại slashworld bang quote hash
Chỉ cần băm cha mẹ bằng nhau, hãy dừng lại!

Điều này mô tả, hy vọng, khá tốt hành vi thực tế của chương trình.


2

TeX

Tôi xin lỗi trước, bởi vì mã này không được tính là giới hạn nếu bạn phát âm tên của từng ký hiệu riêng lẻ (đặc biệt nếu bạn coi mỗi chữ cái là một mã thông báo, có lẽ bạn nên dùng). Tôi đã viết nó theo cách này để tạo ra sản phẩm đẹp nhất có thể, mà bản thân nó chỉ là một bài thơ.

Bạn có thể biến nó thành một câu trả lời tuân thủ các quy tắc một cách an toàn bằng cách loại bỏ \itvà mọi ký tự không phải chữ cái, không khoảng trắng ngoại trừ cuối cùng \bye(đọc to là dấu gạch chéo ngược ) và có lẽ là đầu tiên !(đọc to như tiếng nổ ).

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.

Bạn nên loại bỏ hôn mê và biểu tượng ở cuối mỗi câu để cho chúng đúng vần. Hoặc đặt chúng trong dòng sau đó.
Mikaël Mayer

@ MikaëlMayer: xem nhận xét trong đoạn thứ hai của tôi.
Niel de Beaudrap

2

Brainf * ck

Ok, nói chuyện với tôi bây giờ cho nhiều vi phạm quy tắc. Nhưng tôi không thể giúp làm điều này.

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

Và đầu ra (vi phạm đầu tiên của nhiều người: không có không gian):

HELLOWORLD

Dùng thử tại đây: http://www.iamcal.com/misc/bf_debug/

Việc đọc nó:

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.
  • Lưu ý rằng dấu chấm cuối cùng trong chương trình được đặt là khoảng thời gian ở cuối bộ giới hạn :) [vi phạm lần thứ hai; cái này rẻ Ngoài ra, $#được bỏ qua bởi người phiên dịch (tôi rất tự hào về bản thân mình cho dòng này).

  • Điểm nhấn Sevénlà thể hiện sự căng thẳng: seh-VEN

  • Điều này vi phạm quy tắc sử dụng các biểu tượng khác nhau. Nhưng thành thật mà nói tôi có một bộ biểu tượng rất hạn chế và không có khoảng trống để thêm vào các ký tự (bị bỏ qua) khác.

  • Tôi đã sử dụng tất cả các mũ vì chúng nhanh hơn để truy cập trong ASCII. Thật không may, tôi không có chỗ cho một không gian.

Cuối cùng: vâng, tôi biết dòng cuối cùng là khủng khiếp. Bất kỳ đề xuất để cải thiện nó? Tôi không chắc liệu bạn có thể nén chương trình này nữa không; có thể bằng cách lưu trữ các chữ cái lặp đi lặp lại ở vị trí của họ?


Chỉ cần nhận ra rằng trong khi điều này sẽ làm cho mã dài hơn, việc hủy vòng lặp ban đầu thành 72 +sẽ tiết kiệm một số không gian trong limerick. Nhưng tôi sẽ giữ câu trả lời của mình.
baum

2

C #

Tôi đã có một vài quyền tự do với các quy tắc như các biến thể C thực sự ngữ âm sẽ liên quan đến việc sử dụng quá nhiều "bán đại tràng", như chúng ta đều biết, không phải là một vần điệu đặc biệt tốt cho bất cứ điều gì.

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

cú đúp mở, chuỗi được gọi là mở

được tạo ra để đọc "xin chào thế giới"

giao diện điều khiển viết

chuỗi chúng tôi đã xác định

một cái nẹp cuối cùng, một cái được cuộn tròn


Bạn luôn có thể đặt dấu chấm phẩy ở đầu một dòng mới, phải không?
Mikaël Mayer

Đúng, Mikael, nhưng nó làm cho mã trông rất không gọn gàng!
BrummiePete

1
Giữa không gọn gàng và vần điệu, ở đây điểm là về vần điệu. Đừng lo lắng, mã này không được đánh giá ngang hàng.
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
Điều này không biên dịch. Làm thế nào được yellowtuyên bố?
ζ--

1

Mẻ

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

tại echo off to dull
set slash p quote bằng Xin chào trích dẫn từ nul
set w bằng Thế giới
echo phần trăm w phần trăm ống ống Furled
del dull ống ống cull


Bạn có thể tìm thấy một vần điệu buồn tẻ / buồn tẻ?
Mikaël Mayer

@ MikaëlMayer đó là mã vô dụng hơn, nhưng đúng vậy.
khai mạc

1

CSS

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

Đầu ra:

tiêu đề lớn hơn tôi

cơ thể dấu phẩy cho phép đi tiệc

chỉ một dấu phẩy định kiểu html

dấu hai chấm sau dấu ngoặc kép nội dung dấu ngoặc kép xin chào thế giới dấu chấm phẩy phông chữ gia đình

dấu chấm phẩy màu dấu hai chấm một cha hai mươi

Đã thử nghiệm trên Firefox và Chrome


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

hàm băm bao gồm ít hơn stdio dot h lớn hơn dấu gạch chéo sau một khoảng trắng

void chính trái paren void phải paren trái nẹp

printf left paren quote Xin chào dấu phẩy Thế giới bên phải paren semi dấu hai chấm

chém đôi chỉ cho vần tôi nói stolon

cú đúp bên phải và dấu sao đôi giữa các dấu gạch chéo ở vị trí cuối cùng


Đẹp một cho hai vần đầu tiên, nhưng bạn sử dụng hai lần cùng một biểu tượng để gieo vần (dấu chấm phẩy), không được phép.
Mikaël Mayer

Gỡ lỗi, nhưng tôi đoán một lỗi khác xuất hiện.
Nayuta Ito

0

Batch Windows

Các từ được nói cũng được lưu trong tệp bó và được bỏ qua với dòng mã thực tế cuối cùng.

@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

:)

Chỉnh sửa: Bạn sẽ cần mở rộng chậm trễ để kịch bản hoạt động. Sử dụng cmd /v:onvà chạy nó từ đó.


1
nul, worldwordskhông gieo vần. Các mô hình cần phải là AABBA. Ngoài ra dấu phẩy sau stringnên được phát âm.
khai mạc

0

in 'các phím chữ trên bàn phím'
in 'của tôi đủ để nói Hello World
print' khi tôi gõ vào '
bản in ' tối trong công viên '
in' cảm thấy khủng khiếp, chán kinh khủng '


Lưu ý các quy tắc: các ký hiệu như 'được đọc to và được tính là một phần của sơ đồ gieo vần. Chào mừng đến với PPCG!
Jonathan Van Matre

Vì vậy, về mặt kỹ thuật nó hoạt động. Nó không nói là Akhông thể B.
CompuChip

0

Con trăn (3)

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

In trích dẫn trích dẫn trích dẫn mũi, Không có dấu câu nghe gần, Xin chào thế giới, Vội vàng và vênh váo, Tạm biệt bây giờ trích dẫn trích dẫn trích dẫn gần.


Chào mừng đến với trang web, và bài viết đầu tiên tốt đẹp!
caird coinheringaahing
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.