Rubyで自己言及パズル
問題
実行すると、スクリプトの内容と同じ文字列が表示されるスクリプトを書いてください。
解答
q=%q{print"q=%q{#{q}};#{q}"};print"q=%q{#{q}};#{q}"
実行結果です。スクリプトの最後に改行は入れていません。
C:\work> type self.rb q=%q{print"q=%q{#{q}};#{q}"};print"q=%q{#{q}};#{q}" C:\work> ruby self.rb > output C:\work> type output q=%q{print"q=%q{#{q}};#{q}"};print"q=%q{#{q}};#{q}" C:\work> fc /b self.rb output ファイル self.rb と OUTPUT を比較しています FC: 相違点は検出されませんでした
補足
以前も書いていました。(^_^;
今回のエントリは結城浩の『Perlクイズ』≪パズル≫ 2000-02-08 Puzzle.0003をベースにしています。