ruby – 这个极好的quine如何工作?

Another SO question由Yusuke Endoh提到了一个梦幻般的quine. quine是一个计算机程序,它生成一个自己的源代码副本作为唯一的输出;这个是扭曲的. A must-see.

但我无法弄清楚它是如何工作的.有什么指针吗?

解决方法

首先,请注意,v = line和ASCII globe是每代更改代码的唯一位.这给了我们一些关于这里真正发生的事情的暗示.

基本原则是全局模型在代码的前半部分用Zlib :: Deflate编码,后半部分用Zlib :: Inflate扩展它,读取它,并在新代码中绘制ASCII地球,新的v值. 45°换档并没有什么特别之处;代码将以您喜欢的任何旋转绘制地球. (实际上,如果你愿意,它需要一个命令行参数来指定度数.)

有关更多实现细节,我建议扩展源代码并通过它进行跟踪,基本了解如何设计quine

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...