【发布时间】:2012-07-19 21:57:51
【问题描述】:
我有两个文件 foo 和 bar。 Foo 实现类并初始化实例。在 bar.rb 文件中,我需要 foo.rb,但我也想从 foo.rb 更改 Foo::Bar 的实现
目录树
- foo.rb
- bar.rb
foo.rb
module Foo
class Bar
def random_method
puts "Foo::Bar.random_method"
end
end
end
Foo::Bar.new.random_method
bar.rb
#here I want overwrite Foo::Bar.random_method
require_relative 'foo' # so this line use new random_method
【问题讨论】:
-
可能先需要再覆盖?
-
foo.rb 的最后一行将执行方法。所以当我需要这个文件时,它会立即将字符串放在屏幕上
标签: ruby metaprogramming