作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
Another SO question提到了 Yusuke Endoh 的神奇 quine。 quine 是一种计算机程序,它会生成自己的源代码副本作为其唯一输出;这个做了一个转折。 A must-see .
但我不知道它是如何工作的。有什么指点吗?
最佳答案
首先,请注意 v=
行和 ASCII 地球仪是代码中唯一会在每一代发生变化的位。这给了我们一些关于这里到底发生了什么的提示。
基本原理是地球模型前半部分用Zlib::Deflate
编码,后半部分用Zlib::Inflate
展开>,读取它,并使用新的 v
值在新代码中绘制 ASCII 地球。 45° 偏移并没有什么特别之处;该代码将以您喜欢的任何旋转方式绘制地球。 (事实上 ,如果您愿意,它需要一个指定度数的命令行参数。)
对于更多的实现细节,我建议扩展源代码并跟踪它,对 quine 的设计有基本的了解:)
关于ruby - 这种精湛的 quine 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504196/
我是一名优秀的程序员,十分优秀!