Luaでquineを書いたお

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

自分自身と全く同じ内容を出力する[quine(クワイン)](http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AF%E3%82%A4%E3%83%B3_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)と呼ばれるプログラムを書く、 そんな頭の体操、娯楽があります。その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を作るかはそのうち書くかもしれません。