最短的红宝石奎因

时间:2010-03-19 03:43:15

标签: ruby quine

刚刚阅读完这篇博文:http://www.skorks.com/2010/03/an-interview-question-that-prints-out-its-own-source-code-in-ruby/

在其中,作者辩称使用quine作为面试问题的案例。我不确定我是否同意,但这不是这个问题的关键。

他继续在Ruby中构建一个quine并重构它以缩短它。然后他挑战读者,试着让它更短。

我玩了一会儿,想出了以下内容:

s="s=;puts s[0,2]+34.chr+s+34.chr+s[2,36]";puts s[0,2]+34.chr+s+34.chr+s[2,36]

这是我第一次尝试过quine,我无法弄清楚如何缩短它。

你能想出的最短的Ruby quine是什么?如果您的实施需要,请发布解释。

2 个答案:

答案 0 :(得分:22)

不幸的是RubyGarden不再存在了。这里有几个链接可以弥补它(凯文发布的那个不再是最短的了):

The first quines in Ruby

s="s=%c%s%c; printf s,34,s,34,10%c"; printf s,34,s,34,10

ruby quine slightly smaller than python quine

_="_=%p;puts _%%_";puts _%_

shortest nozero [sic!] ruby quine

puts <<2*2,2
puts <<2*2,2
2

答案 1 :(得分:2)

更短:

$><<IO.read($0)

15个字符,不包括换行符

相关问题