Ruby 如何获取和修改源代码?

linjunhalida · 2011年12月29日 · 2217 次阅读

lisp 里面可以动态修改源代码,在 ruby 里面虽然可以重载和无数 hook, 但是是否有办法能够修改代码?其实只是需要能够获取代码就可以了, 是否能够实现下面的功能呢?

def helloworld n "hello #{n}" end

o = Kernel.method :helloword

Kernel.define_singleton_method o.name do |n| eval o.source_code.sub('hello', 'hello world') end

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号