하이쿠를 출력하는 실행 가능한 하이쿠 [닫힘]


37

퍼즐:

다음과 같은 짧은 3 줄 프로그램을 작성하십시오.

  • 소리내어 읽을 때 한 줄에 5/7/5 음절이 있습니다
  • 실행할 때 하이쿠를 출력합니다.

올바른 구조이지만 하이쿠가 아닌 출력을 가진 프로그램의 예는 (Python)입니다.

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

(댓글은 약간의 cop-out입니다.)

이것은 다음과 같이 큰소리로 읽습니다.

범위 3의 x

인간을 구제하라!

나는 Dalek입니다.

모든 언어가 허용됩니다. 소리내어 읽기 위해 와카 와카 방 스 플랫 (Waka Waka Bang Splat)!@#$%^&*()_+ 과 같은 것을 인정하면 소리내어 발음을 무시하거나 소리내어 발음 할 수 있습니다 . (와 같은 Perl 항목이있을 것이라고 확신합니다 )!***(!:, )(*@@@#, )_(*)!.

코드 또는 출력이 특히 웃기거나 특히 선인 경우 추가 포인트.


편집 : 언어에 상용구가 필요하다면 흥미로운 일을 할 수 있습니다 ( #include <iostream>?). 나는 상용구를 무시하게되어 기쁩니다.


폴 리히터 (Paul Richter)의 Common Lisp haiku를 받아 5 분 동안 웃게했다고 들었습니다.

Timwi의 창의적인 규칙 굽힘 ( 컴파일러 출력?!)과 매우 기억에 남는 라인에 대한 훌륭한 언급"Static void. I long for you."

이제이 질문은 끝납니다.

더 많은 haikus가 기다리고 있습니다.

계속 게시하십시오!


고양이와 같은 언어를 사용하지 말 것을 강력히
권합니다

1
"Dalek Simulator"는 6 음절입니다 (또는 "# Dalek Simulator"는 7 음절입니까?)-어쨌든 세 번째 줄의 5 음절이 아니어야합니까?
Paul R

@PaulR : 네 말이 맞아. 5 음절로 편집했습니다. ;)
Li-aung Yip

1
Piet 솔루션에 대한 보너스?
ugoren

1
@ugoren : Piet 프로그램을 haiku처럼 보이게 할 수 있다면, 그랑프리를 수상 할 것입니다. ;)
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))

이것은 좋은 5 분 동안 나를 깨뜨렸다. 잘 했어!
Li-aung Yip

78

씨#

프로그램:

#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 ditto !!
Gaffi

1
나는 컴파일러의 외로움의시를 말 그대로 크게 웃었다. 내가 슬픈가요? 일정한 줄 바꿈.
Alpha

48

Piet, 867 컬러 블록 실행

최우수상이라고합니까? 이것은 코덱 크기가 2입니다.

스스로 인쇄하는 하이쿠

산출:

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

이 도전은 재미 있었다! 명령 을 가져 와서 Piet 스크립트로 변환 하는 Piet 명령 인코더 를 작성했습니다 . 주어진 문자열을 인쇄하는 코드를 생성하는 것은 짧은 작업입니다. 단일 코덱 명령 만 사용하면서 Piet 코드를 골프화하는 데 약간의 (그러나 효과적인) 노력을 기울였습니다.

그런 다음 픽셀 글꼴을 만들었습니다. 캐릭터의 모든 픽셀에 대해 2 개의 검은 색과 2 개의 4 개의 코덱으로 나눕니다. 첫 번째로 발생하는 코덱은 실행되지 않으므로 문자의 세그먼트에 예를 들어 2 * n * -1 명령에 해당하는 n 개의 픽셀이있는 경우입니다.

측면 아래의 선은 방향 포인터를 뒤집고 2 픽셀 씩 아래로 이동하여 다음 행으로 가져갑니다. 따라서 명령은 다른 모든 줄에서 반대로됩니다.

"텍스트에 포함 된 텍스트"를 생성하는 코드가 있으면 재미 있습니다. 나는 아마 길을 따라 20 하이쿠를 썼다. 그러나 나는 결국 정착했다. 글꼴을 조정하여; serif, 둥근 모서리, 높이 / 너비 변경 등을 추가 / 제거하면 Piet 코드가 이미지 텍스트에 정확히 맞게 이미지의 흰색이 아닌 총 픽셀 수를 변경할 수있었습니다.

보너스! 자신 만의 하이쿠를 만들 수 있습니다! http://pastebin.com/zxc9V3UX


온라인으로 테스트 할 수있는 곳이 있습니까? 작동하면 +1의 가치가 있습니다.
Gareth

나는 여기 에서 하나를 찾았 지만 프로그램은 아무런 출력도주지 않았다 :-(
Gareth

@Gareth, Piet는 형편없는 편집자 / 통역 가로 유명하며, npiet의 온라인 편집자가 아무것도 출력하지 못하게 할 수 없었습니다. 게시 된 스크립트는 PietIDE에서 작동합니다 .
boothby

1
불행히도, 그것은 내 Mac의 Chrome에서 완전히 질식했습니다. 나는 내일 작동하는 것을 다운로드 할 수 있는지 볼 것이다.
Gareth

1
나는 당신이 하이쿠를 좋아한다고 들었습니다. 그래서 나는 하이쿠 그림에 하이쿠를 넣습니다.
Li-aung Yip

23

$_
= "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

이것에 대한 첫 번째 실행이 유효한 하이쿠 응답에서 1 마이크로 초라는 것을 고려할 때, 그것은 자격을 갖추기에 충분하다고 생각합니다!

NB : 첫 두 줄 (약간 약한)에 대한 선 대안이 충분히 들리게되어 기쁩니다.


"타이밍이 옳다면"+ "1 3 3 7"에 +1
박수 :

10

제이

프로그램:

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

심벌 마크

다음은 Quiine 절차 인 Haiku 절차입니다 (로고의 검사 기능으로 인해 쉬움).

to better_yourself
  printout "better_yourself
end ; as you began

로 읽기

더 나은 자신을하려면
자신이 더 나은 견적을 인쇄하여
당신이 시작하면서 종료


1
나는 "로고"를 읽고 "이것은 하이쿠를 쓰는 거북이를 포함 할 것입니까?" PEN UP 또는 PEN DOWN이 없더라도 +1입니다. :)
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

JavaScript (Firefox에서 작동하지 않음)

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

mozilla
자바 스크립트 엔진을 제외하고 작동 하며
실행 후 맞춤법을 보여줍니다.


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에 동의했습니다. 편집 : 나는 이것에 대해 잊었다. 출력이 멍청한만큼, 나는 가장 진지한 "푸조 한 목소리"로 큰 소리로 읽는 것이 이상하게도 만족 스럽습니다.
daniero

적어도 파이썬 3에서는 what = thenwitn으로 대체 될 수 있습니다 what is then.
MaxiMouse

3

파이썬 (2 항목)

항목 1 : 하이쿠

이 파일을 파일에 저장하고 동일한 디렉토리에서 실행해야합니다. 이 haiku는 단어와 시간의 시로 화면에 매우 천천히 인쇄됩니다.

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

응모 2 : 상징이없는 하이쿠

이것은 위와 비슷하지만 키워드와 최소한의 대괄호 또는 기호의 대체 (예 : ="is"로 발음) 를 사용하는 Python haiku를 작성하려는 시도였습니다 .

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]]

0

정력

ia0 <esc><c-x>
YpA-<esc>
px5<c-x><c-x>

로 읽다

i a zero x
Y p A hyphen escape
p x five x x

쓴다 :

a-1
a-1-
-7

다음과 같이 읽으십시오 :

a negative one
a minus one negative
negative seven

0

파이썬 3

print(print.__doc__[:15])
print(print.__doc__[13:][:13])
print(print.__doc__[32])

다음과 같이 읽으십시오 :

print print doc one five
print print doc one three one three
print print doc three two

인쇄물:

print(value, ..
..., sep=' ',
\

다음과 같이 읽으십시오 :

print value dot dot
ellipses, sep equals blank
reverse solidus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.