我有这样一个类:如何动态扩展/修改Ruby中的所有继承类的方法?
class MainClass
def self.method_one(String)
puts "#{self.class} a"
end
def self.method_two(String)
puts "#{self.class} a"
end
end
而且我有一个继承了MainClass
类:
class NewClass < MainClass
#any_mathod should match any method that is called for NewClass call
def self.any_method(a,b)
puts "#{self.class} b"
super(a)
end
end
有没有办法从MainClass
所有方法从运行它们时我怎么能延长NewClass
而不重新定义它们全部在NewClass
中接受两个参数而不是一个,例如:
NewClass.method_one(String1, String2)
同时会产生:
#=> NewClass String2
#=> MainClass String1
,并处理NewClass
类中String1
参数。附加参数的处理器对于所有方法都是相同的。
谢谢,这个作品完美! – 2012-08-08 16:00:43