【发布时间】:2016-04-03 23:56:06
【问题描述】:
我想通过调用方法f 动态覆盖方法Hash#[]=。以下代码不起作用,因为方法内不允许类定义:
def f
class Hash
def []=(k, v)
...
end
end
end
解决方法是将class Hash 放在单独的文件中,然后
def f
require 'my_hash.rb'
end
我想知道是否有办法避免添加单独的文件。
【问题讨论】:
标签: ruby methods metaprogramming