ไฮกุที่ทำงานได้ซึ่งส่งออกไฮกุ [ปิด]


37

ปริศนา:

เขียนโปรแกรมสั้นสามบรรทัดซึ่ง:

  • มี 5/7/5 พยางค์ต่อบรรทัดเมื่ออ่านออกเสียง
  • ส่งออกไฮกุเมื่อทำงาน

ตัวอย่างของโปรแกรมที่มีโครงสร้างที่ถูกต้อง แต่เอาต์พุตที่ไม่ใช่ไฮกุคือ (Python):

>>> for x in range(3):
...     print "EXTERMINATE HUMANS"
... # I am a Dalek.
... 
EXTERMINATE HUMANS
EXTERMINATE HUMANS
EXTERMINATE HUMANS

(ความคิดเห็นเป็นบิตของ cop-out)

การอ่านออกเสียงนี้เป็น:

สำหรับ x ในช่วงสาม

พิมพ์มนุษยชาติกำจัด!

ฉันเป็นดา

ภาษาใดก็ได้ที่ยอมรับได้ สำหรับวัตถุประสงค์ของการอ่านออกเสียง, สัญลักษณ์เช่น!@#$%^&*()_+สามารถละเว้นถ้าคุณต้องการหรือออกเสียงออกเสียงยอมรับสิ่งที่ต้องการWaka Waka บาง Splat (ฉันแน่ใจว่าจะมีรายการ Perl เหมือน!***(!:, )(*@@@#, )_(*)!.)

คะแนนพิเศษหากรหัสหรือผลลัพธ์เป็นเรื่องตลกโดยเฉพาะหรือเซนโดยเฉพาะ


แก้ไข: หากภาษาของคุณต้องมีสำเร็จรูปใช้ก่อนที่มันจะสามารถทำสิ่งที่น่าสนใจ ( #include <iostream>?) ฉันยินดีที่จะเพิกเฉยต่อแผ่นเหล็ก


ฉันยอมรับไหโข่วสามัญของ Paul Richter ในบริเวณที่ทำให้ฉันหัวเราะได้ห้านาที

รางวัลชมเชยสำหรับการวางกฎเชิงสร้างสรรค์ของ Timwi ( คอมไพเลอร์เอาท์พุท?!) และสำหรับบรรทัดที่น่าจดจำอย่างยิ่ง"Static void. I long for you."

ตอนนี้คำถามนี้จบลงแล้ว;

ไฮกุจำนวนมากรออยู่

โพสต์ต่อไป!


ฉันขอแนะนำอย่างยิ่งให้คุณป้องกันการใช้ภาษาเหมือนแมว ...
MrZander

1
"Dalek Simulator" เป็น 6 พยางค์ (หรืออาจจะเป็น "# Dalek Simulator" เป็น 7 พยางค์?) - ไม่ว่าจะด้วยวิธีใดควรเป็น 5 พยางค์สำหรับบรรทัดที่สามหรือไม่?
Paul R

@PaulR: ถูกต้อง แก้ไขสิ่งที่ 5 พยางค์ ;)
Li-aung Yip

1
โบนัสสำหรับโซลูชัน Piet หรือไม่?
ugoren

1
@ugoren: ถ้าคุณสามารถทำให้โปรแกรม Piet ดูเหมือนไฮกุฉันมั่นใจว่าจะได้รับรางวัลใหญ่ ;)
Li-aung Yip

คำตอบ:


46

เสียงกระเพื่อมสามัญ

วงเล็บเงียบ!

โปรแกรม:

((lambda (&rest foo) 
   (list foo (cons 'truly foo) foo))
 'this 'is 'lisp 'haiku)

อ่านเป็น:

lambda and rest foo
list foo cons truly foo foo
this is lisp haiku

เอาท์พุท:

((THIS IS LISP HAIKU) (TRULY THIS IS LISP HAIKU) (THIS IS LISP HAIKU))

สิ่งนี้ทำให้ฉันแตกเป็นเวลาห้านาที ทำได้ดี!
Li-aung Yip

78

C #

โปรแกรม:

#warning Lonesome
class _{
    static void Eye(long forYou='
        ){ /* My program ends here. */ ;}}

อ่าน:

Warning: Lonesome class.
Static void. I long for you.
My program ends here.

คอมไพเลอร์เอาท์พุท:

#warning: 'Lonesome'        (read: hash warning lonesome)
Empty character literal     (read: empty character lit’ral)
Newline in constant

14
คอมไพเลอร์เอาท์พุท! การตีความที่สร้างสรรค์ของกฎ - ฉันชอบมัน นอกจากนี้ยังแปลกเซน ...
Li-aung Yip

2
นี่คือบทกวีของคอมไพเลอร์ ... +1!
Cristian Lupascu

6
ฉันหวังว่าฉันจะสามารถลงคะแนนได้มากกว่าหนึ่งครั้ง
Gareth

@ Gareth เหมือนกัน !!
Gaffi

1
แท้จริงฉันหัวเราะออกมาดัง ๆ ในบทกวีของความเหงาของผู้เรียบเรียง ฉันเป็นคนเศร้าหรือเปล่า ขึ้นบรรทัดใหม่อย่างต่อเนื่อง
อัลฟ่า

48

Piet, 867 กำลังดำเนินการบล็อกสี

รางวัลแกรนด์คุณพูด? นี่คือขนาด codel ของ 2

ไฮกุที่พิมพ์ตัวเอง

เอาท์พุท:

SPRING EVER RETURNS
NEVER EXACTLY THE SAME
THIS IS NOT A QUINE

ความท้าทายนี้สนุกมาก! ฉันได้เขียนโปรแกรมเข้ารหัส Pietซึ่งใช้คำสั่งและแปลมันเป็นสคริปต์ Piet การทำงานสั้น ๆ เพื่อสร้างรหัสเพื่อพิมพ์สตริงที่กำหนด ฉันใส่ความพยายามเล็กน้อย (แต่มีประสิทธิภาพ) ลงในการเล่นกอล์ฟรหัส Piet ในขณะที่ใช้คำแนะนำแบบจำลองเดียวเท่านั้น

ฉันทำฟอนต์พิกเซล สำหรับทุกพิกเซลในตัวละครฉันระเบิดมันออกเป็น 4 codels: 2 ดำและ 2 ดำเนินการ codel ที่พบครั้งแรกนั้นไม่ได้ดำเนินการดังนั้นถ้าเซ็กเมนต์ของอักขระมีnพิกเซลเช่นนั้นจะสอดคล้องกับคำแนะนำ 2 * n * -1

เส้นที่ด้านข้างจะย้อนกลับตัวชี้ทิศทางและเลื่อนลง 2 พิกเซลเพื่อนำไปยังแถวถัดไป ดังนั้นคำแนะนำจะกลับรายการในบรรทัดอื่นทุกบรรทัด

เมื่อฉันมีรหัสในการผลิต "ข้อความฝังตัวในข้อความ" มันสนุก ฉันอาจเขียน 20 ไฮกุระหว่างทาง แต่ในที่สุดฉันก็ตัดสิน โดยการปรับเปลี่ยนแบบอักษร; การเพิ่ม / ลบ serifs มุมโค้งมนการเปลี่ยนความสูง / ความกว้าง ฯลฯ ฉันสามารถเปลี่ยนจำนวนพิกเซลที่ไม่ใช่สีขาวในภาพซึ่งรหัส Piet นั้นพอดีกับข้อความรูปภาพทั้งหมด

โบนัส! คุณสามารถทำไฮกุของคุณเองไฮกุ! http://pastebin.com/zxc9V3UX


มีที่ไหนออนไลน์ที่ฉันสามารถทดสอบได้หรือไม่ หากใช้งานได้จะคุ้มค่า +1 แน่นอน
Gareth

ฉันพบที่นี่แต่โปรแกรมไม่ให้ผลลัพธ์ :-(
Gareth

@ Gareth, Piet ค่อนข้างเป็นที่รู้จักในหมู่บรรณาธิการ / ล่ามที่น่ารังเกียจและฉันไม่สามารถรับบรรณาธิการออนไลน์ของ npiet เพื่อผลิตผลอะไร ที่โพสต์สคริปต์ทำงานในPietIDE
บูธของ

1
โชคไม่ดีที่ภาพนั้นเต็มไปด้วย Chrome บน Mac ของฉัน ฉันจะดูว่าฉันสามารถดาวน์โหลดหนึ่งที่ทำงานในวันพรุ่งนี้
Gareth

1
ฉันได้ยินคุณชอบไฮกุดังนั้นฉันจึงใส่ไฮกุไว้ในรูปภาพของคุณจากไฮกุเพื่อให้คุณได้รับไฮกุเมื่อคุณไฮกุ
Li-aung Yip

23

Perl

$_
= "Repeating myself"
;print"$_\nis like $_.\n$_.\n";

วิธีอ่านออกเสียง

dollar underscore
equals repeating myself
print nis like line noise.

เอาท์พุท:

Repeating myself
is like Repeating myself.
Repeating myself.

5
ตำรวจออกไปอ่านออกเสียงดอลล่าร์ไม่ได้เน้นเสียงดังในบรรทัดแรก แต่จากนั้นข้ามมัน (พร้อมกับตัวละครอื่น ๆ อีกสองสามตัว) ในบรรทัดที่สาม?
dspyz

ใช่มันเป็นจริงๆ :)
Timwi

19

INTERCAL

INTERCAL มีขีดความสามารถในการส่งออกที่ จำกัด แต่ "ขีดความสามารถที่ จำกัด " ไม่เคยหยุดฉันจากการเขียนโปรแกรม INTERCAL!

DO READ OUT #18
+#3301
+#214
PLEASE GIVE UP

โปรดอ่าน [ออก] สิ่งนี้เป็น:

Do read out eighteen,
Three thousand three hundred one,
Two hundred fourteen.

(โปรดทราบว่าแผ่นสำเร็จรูปของฉันอยู่ท้ายโปรแกรมแทนที่จะเป็นตอนเริ่มต้น)

โปรแกรมสร้างผลลัพธ์:

XVIII

MMMCCCI

CCXIV

ซึ่งเมื่อพูดออกมาดัง ๆ ไป:

Ex vee eye eye eye,
Em em em cee cee cee eye,
Cee cee ex eye vee.

1
ฉันคิดว่าคุณต้องการการบำบัด
Chris Kitching

13

CoffeeScript

ด้วยลิ้นอย่างแน่นหนาฉันจึงนำเสนอ CoffeeScript:

here = "my haiku"
were_doomed() unless 1 is 1
alert Date.now()

ออกเสียง:

Here is my haiku
We're doomed unless one is one
alert date dot now

หากเวลาของคุณถูกต้อง (!) ผลลัพธ์ของคุณอาจเป็นเช่น 1337181872717 ออกเสียง:

one three three seven
one eight one eight seven two
seven one seven

เมื่อพิจารณาการวิ่งครั้งแรกของฉันที่นี่คือหนึ่งไมโครวินาทีจากการตอบสนองของไฮกุที่ถูกต้องฉันคิดว่าเซนเพียงพอที่จะมีคุณสมบัติ!

NB: ฉันยินดีที่จะได้ยินทางเลือกเซนพอสำหรับสองบรรทัดแรกของฉัน (อ่อนแอเป็นที่ยอมรับ) บรรทัด


+1 สำหรับ "ถ้าเวลาของคุณถูกต้อง" และ "หนึ่งสามสามเจ็ด"
ตบมือ

10

J

โปรแกรม:

p:i.4
*:*:*:i.3
!8

อ่าน (แทนชื่อกริยา):

Prime Integers Four
Square Square Square Integers 3
Factorial Eight

เอาท์พุท (อ่านตัวเลขดัง):

2 3 5 7
0 1 256                          (Read: Zero One Two-Fifty-Six)
40320                            (Read: Forty Three-Twenty)

8

หลาม

รหัส:

for _ in range(1,3):
    print 'Hi ' * 5, 'there ' *  2 * (-1+_) 
print 'I now', 'go ' * 3

อ่านอย่างไร:

for in range one three
print hi five there two one plus
print i now go three

เอาท์พุท:

Hi Hi Hi Hi Hi  
Hi Hi Hi Hi Hi  there there 
I now go go go 

ตัวอย่างการทำงาน: http://ideone.com/hDniW


7

เครื่องหมาย

นี่คือขั้นตอนไหโข่วที่เป็นขั้นตอนที่ต้องทำ (ง่ายเนื่องจากความสามารถในการใคร่ครวญของโลโก้)

to better_yourself
  printout "better_yourself
end ; as you began

อ่านตาม

เพื่อปรับปรุงตัวเองให้ดียิ่งขึ้น
พิมพ์คำพูดออกมาดีกว่าตัวเอง
จบเมื่อคุณเริ่ม


1
ฉันอ่าน "โลโก้" และคิดว่า "นี่จะเกี่ยวข้องกับเต่าที่เขียนไหโข่วใช่มั้ย!" +1 แม้ว่าจะไม่มี PEN UP หรือ PEN DOWN :)
Li-aung Yip

4

ทับทิม

"A ruby haiku.
Why, yes, it is."; print open(
__FILE__).read #this now, please.

อ่านเป็น:

A ruby haiku.
Why, yes, it is. Print open
file. Read this now, please.

มันไหลไม่ดีโชคไม่ดี ในการป้องกันของฉันคือ 12:50 น. ...


3

จาวาสคริปต์ (ไม่ทำงานใน Firefox)

             (function haiku() { with (
console) log ((('' + haiku). // output
replace)     (/[ !-@{-~[-^]+/gim, ' ')); void haiku })()

ทำงานได้ยกเว้น
เครื่องยนต์mozilla javascript และแสดง
การสะกดคำหลังจากวิ่งแล้ว


3

หลาม

(อ่านเครื่องหมายวงเล็บระดับแรกเท่านั้น (ไม่ใช่วงเล็บที่สอง))

รหัสและวิธีอ่าน:

for e in range(3):                      # for e in range three
    if True is False: what = then       # if true is false, what is then?
    print "oh " * (5 + 2 * (e & 1))     # print oh times _seven_

เอาท์พุทอาจเป็นไฮกุพื้นฐานที่สุดในโลก:

oh oh oh oh oh
oh oh oh oh oh oh oh
oh oh oh oh oh

คุณอาจจะแทนที่True == Falseด้วยTrue is Falseเพื่อให้รหัสโปรแกรมมากขึ้นเช่นวิธีที่คุณอ่านมัน

@LegoStormtroopr เห็นด้วย แก้ไข: ฉันลืมเรื่องนี้ไปแล้ว ฉันพบว่ามันน่าประหลาดใจที่ได้อ่านออกเสียงออกมาดัง ๆ ใน "peotry voice" ที่รุนแรงที่สุดของฉัน
daniero

อย่างน้อยใน Python 3 what = thenก็สามารถแทนที่ witn what is thenได้
MaxiMouse

3

Python (2 รายการ)

รายการ 1: เวลาไฮกุ

คุณต้องบันทึกสิ่งนี้ในไฟล์และเรียกใช้จากไดเรกทอรีเดียวกัน ไฮกุตัวนี้ช้ามากพิมพ์ออกมาที่หน้าจอบทกวีในคำและเวลา

from time import sleep
for line in open(__file__):
  print line; sleep(len(line))

รายการที่ 2: ไฮกุที่ไม่มีสัญลักษณ์

สิ่งนี้คล้ายกับข้างบน แต่เป็นความพยายามในการเขียน Python ไฮกุที่ใช้เพียงคำหลักและวงเล็บหรือการแทนที่สัญลักษณ์น้อยที่สุด (เช่น=ออกเสียงว่า "เป็น")

if __file__ is not None:
 for line in open(__file__):
  print not False and line

2

Tcl

ต่อไปนี้เป็นตัวอย่างการจัดทำเอกสารด้วยตนเองการแสดงผลด้วยตนเอง:

catch {me as I make}
proc unknown args {puts [read $args]}
[open [info script]]


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.