Ruby:打印源代码

时间:2011-01-18 01:21:57

标签: ruby printing quine

最近我听说过Quine。但我对它的定义有点不清楚。

我相信您可以在不使用__FILE__的情况下打印自己的Ruby文件的源代码?那可能吗?我对你的想法很感兴趣。我想测试一下。 Dunno,获取以下代码的来源:

class MyClass
  def initialize
    print "You cannot read me!!"
  end
end

所以我可以打印全班吗?

2 个答案:

答案 0 :(得分:1)

Quine是一个程序,它打印出自己的源代码作为其唯一的功能,是的,你可以这样做而无需阅读源代码文件。真正的挑战和乐趣是尽可能简短地写出Quine。

以上不会是Quine,因为它不会打印自己的源代码,也不可能因为它不仅仅是输出自己的代码。

查看此主题:
Shortest Ruby Quine

答案 1 :(得分:-2)

这些东西不应该被称为“Quines”,而是“Gödels”或“Goedels”因为(至少在我看来)通常用于实现这种效果的技术被用于哥德尔关于第一个不完备性定理的证明(cf KurtGödel的文集I,第175页,在Quine的讨论之前出现。