このコード を見ていて書けることに気付いた。
puts <<END class String alias originalinspect inspect def inspect alias inspect originalinspect #{s='';$<.read.each_byte{|v|s+="concat #{v}\n"};s} eval self exit 0 end end p String nil END
数字もまぁなんか消せると思う。これで Ruby も Perl 並と言っていいか。
See also.
- 任意の Ruby (1.9) プログラムを記号だけにするプログラム
- ppencode (eval つけられれば今回のと同じことできるけど、 Perl って文字列の連結できるかな)
- Acme::EyeDrops (任意の Perl プログラムを記号だけにするプログラム)
追記
これだと Kernel#self が String になっちゃってるよな…