我想出了一个Ruby quine:
eval s=%q(puts"eval s=%q(#{s})")
并声称它是最短的,但最初由Perl为#Per; Robin Houston"写的。并通过" Sabby和Tabby"
移植到Rubyputs <<2*2,2
puts <<2*2,2
2
结果证明是更短的。我想知道是否可以证明在Ruby中实际上不可能使用更短的非零quine。你会怎么做?零长度脚本是Ruby中每个定义的一个quine,但这是一个经常被丢弃的微不足道的案例。阅读他们自己的输入的脚本(如print IO.read($0)
)不是quines,所以它们不算数。
只是因为没有张贴短片并不能使它最短。那么如何才能证明(如科学地)特定的quine是最短的?