输出a句的可执行句[关闭]


37

难题:

编写一个简短的三行程序,其中:

  • 朗读时每行有5/7/5个音节
  • 运行时输出一个句。

具有正确结构但非haiku输出的程序示例为(Python):

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

(此评论有点不合时宜。)

朗读为:

对于范围三中的x

打印出人类!

我是达莱克

任何语言都是可以接受的。为了大声阅读,!@#$%^&*()_+可以接受诸如Waka Waka Bang Splat之类的符号,也可以忽略它们,也可以大声发音。(我肯定会有一个Perl条目,例如!***(!:, )(*@@@#, )_(*)!.

如果代码或输出特别有趣,或特别是zen,则加分。


编辑:如果您的语言需要样板才可以做任何有趣的事情(#include <iostream>?),那么我很乐意忽略样板。


我接受了Paul Richter的Common Lisp ku句,理由是它使我笑了五分钟。

尊敬地提及Timwi的创造性规则弯曲(编译器输出?!)和令人难忘的产品线"Static void. I long for you."

现在这个问题结束了。

还有更多的句等待着。

继续发布!


我强烈建议您不要使用类似猫的语言……
MrZander 2012年

1
“ Dalek Simulator”是6个音节(或者“#Dalek Simulator”是7个音节?)-不管是哪种方式,第三行不是5个音节吗?
Paul R

@PaulR:你是对的。编辑为5个音节。;)
叶丽昂

1
奖励Piet解决方案?
ugoren

1
@ugoren:如果您可以使Piet程序看起来像句,我很确定那将赢得大奖。;)
Li-aung Yip 2012年

Answers:


46

普通Lisp

括号是无声的!

程序:

((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))

这使我紧张了五分钟。做得好!
叶李昂

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
编译器输出?!规则的创造性解释-我喜欢。禅宗也很奇怪……
叶丽昂

2
这是编译器诗歌... +1!
克里斯蒂安·卢帕斯库

6
我希望我可以不止一次投票。
加雷斯

@加里斯·迪托
加菲2012年

1
我真的大笑了编译器的孤独诗。我难过吗?换行符常量。
2012年

48

Piet,867执行色块

大奖,你说呢?编码大小为2。

自己打印的句

输出:

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

这个挑战很有趣!我已经编写了一个Piet指令编码器,该编码器接受指令并将其转换为Piet脚本。从那里生成代码以打印给定字符串的工作很短。我只花了一个代码指令就花了很少(但有效)的精力去打高尔夫球Piet代码。

然后,我制作了像素字体。对于字符中的每个像素,我将其分解为4个编码:2个黑色和2个执行。遇到的第一个编解码器是非执行的,因此,例如,如果一个字符段具有n个像素,则它对应于2 * n * -1指令。

边下方的线使方向指针反转并将其向下移动2个像素,将其移至下一行。因此,每隔一行就对指令进行反转。

一旦有了生成“嵌入文本中的文本”的代码,它就会变得很有趣。一路上我大概写了20句ku句,但最终我安定下来。通过调整字体;添加/删除衬线,圆角,更改高度/宽度等,我能够更改图像中非白色像素的总数,以使Piet代码完全适合图像文本。

奖金!您可以制作自己的quinelike hai句! http://pastebin.com/zxc9V3UX


我可以在线测试这个地方吗?如果可行,绝对值得+1。
加雷斯2012年

我在这里找到了一个,但是该程序没有输出:-(
Gareth

@ Gareth,Piet因其糟糕的编辑器/解释器而臭名昭著,我无法让npiet的在线编辑器来生成任何内容的输出。发布的脚本可在PietIDE使用
2012年

1
不幸的是,这完全使我的Mac上的Chrome感到无聊。我会看看我是否可以下载明天可以使用的软件。
加雷斯

1
我听说您喜欢句,所以我在您的a句图片中放了一个ku句,这样当您句时,您就会得到a句。
叶立昂2012年

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
我认为您需要治疗。
克里斯·基钦

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表示“如果您的时间合适”和“一三三七”
2015年

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)


7

商标

这是Haiku程序,也是quine程序(由于徽标具有自省功能,因此很容易)

to better_yourself
  printout "better_yourself
end ; as you began

阅读为

为了更好的自己
打印出更好的报价自己
结束


1
我读了“徽标”,并想“这将涉及一只乌龟写Hai句,不是吗?!” 即使没有PEN UP或PEN DOWN,也+1。:)
立昂业

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
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 == FalseTrue is False即可使程序代码更像您所阅读的代码。

@LegoStormtroopr同意。编辑:我已经忘记了这一件事。尽管输出如此愚蠢,但我发现用我最严肃的“诗歌般的声音”大声读出来时,我感到很奇怪。
daniero 2013年

至少在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:没有象征意义的句

这类似于上面的内容,但是尝试编写仅使用关键字和最小括号或符号替换(例如,=发音为“ 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

Vim

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

Python 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.