Ruby:打印源代码

最近我听说有一种叫做奎因的东西。 但我对它的定义有点不清楚。

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

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

所以我可以打印全class吗?

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

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

看看这个post:
最短的ruby奎因

这些东西不应该被称为“Quines”,而是“Gödels”或“Goedels”,因为(至少在我看来)通常用于实现这种效果的技术被用于哥德尔关于第一个不完备性定理的certificate中(参见KurtGödel’s)在奎因的讨论之前出版的第一部作品集,第175页。