Luaでquineを書いたお

自分自身を出力するプログラムquineをLuaで書きました。

自分自身と全く同じ内容を出力するquine(クワイン)と呼ばれるプログラムを書く、 そんな頭の体操、娯楽があります。そのquineをLuaで書いてみました。

s="print(string.format('s=%q;loadstring(s)()',s))";loadstring(s)()

このプログラムをquine.luaとして保存し以下のようにすると…

$ lua quine.lua > 1.lua
$ lua 1.lua > 2.lua
$ diff -u 1.lua 2.lua
$  

最後のdiffで差分が表示されなければ正しく動いてます。 どのようにquineを作るかはそのうち書くかもしれません。