Procの中身を文字列で得る、それが可能なんだな
Procのソースを取り出すライブラリ:proc_source.rb - Hello, world! - s21g
Procの中身が得られるなんて!まさかそんなことがと思ってソースを覗いてみた。なるほどSCRIPT_LINES__でprocの定義開始を見て、irb附属のruby-lexでprocの終わりを知る方法なんだな。
だけど、あれれ、動かないぞ。1.8.6、1.8.7、1.9どれもだめ。
require 'proc_source' code = proc{ puts "Hello World" } code.source # => nil
ソースは御世辞にもきれいとは言えない。特に106行目からがカオス。97行目からはcase使えよと。