Rubyで自己言及プログラム(Quine)を書いてみた

気分転換として書いてみた.ソースは以下の通り.

s = "s = %c%s%c; printf s, 34, s, 34"; printf s, 34, s, 34

実行結果はこちら.

s = "s = %c%s%c; printf s, 34, s, 34"; printf s, 34, s, 34

ソースコード自体がプログラムの出力になる.ちなみにcodepadでの実行結果はこちら

printfと%cを使って,文字列リテラルのダブルクォーテーション(二重引用符) をASCIIコードで指定して出力しているところがポイント.簡単でしょ?


あまりRubyっぽい感じの書き方ができなかったので,また気が向いたら別バージョンを書いてみたい.