Rubyで自己言及
自分自身を出力するプログラムRuby版。
b = %(proc{|x| "b = %(#\{x\}) qb = b.gsub(35.chr+123.chr, 35.chr+92.chr+123.chr) qb = qb.gsub(125.chr+33.chr, 92.chr+125.chr+33.chr) puts eval(b).call(b)"}); qb = b.gsub(35.chr+123.chr, 35.chr+92.chr+123.chr) qb = qb.gsub(125.chr+33.chr, 92.chr+125.chr+33.chr) puts eval(b).call(qb)
エスケープの処理をするために、gsubをちょっと変則的に使ってる。もっと短くできそう。