別の SO の質問では、遠藤祐介による幻想的なクワインについて言及しています。quine は、独自のソース コードのコピーを唯一の出力として生成するコンピューター プログラムです。これはひねりを加えてそれを行います。必見です。
しかし、私はそれがどのように機能するのか理解できません。ポインタはありますか?
v=
まず、各世代で変更されるコードのビットは線と ASCII 地球儀だけであることに注意してください。これにより、実際に何が起こっているのかについてのヒントが得られます。
Zlib::Deflate
基本的な原理は、コードの前半で地球儀モデルをエンコードし、後半でそれを で展開して読み取り、新しい値Zlib::Inflate
で新しいコード内の ASCII 地球儀を描画するというものです。v
45° シフトについて特に特別なことは何もありません。コードは、好きな回転で地球を描画します。(実際、必要に応じて、度数を指定するコマンド ライン引数を取ります。)
実装の詳細については、ソース コードを展開してトレースすることをお勧めします。