Class#define_method和Module#define_method之间的区别

时间:2013-01-14 15:50:39

标签: ruby

因为我发现:define_methodClass.private_instance_methods都显示Module.private_instance_methods。你能告诉我为什么吗?谢谢!

2 个答案:

答案 0 :(得分:0)

这是因为它在Module:http://apidock.com/ruby/Module/define_method中定义,Class的基类是Module。所以,如果这就是你要求的,你可以同时使用它们。

答案 1 :(得分:0)

define_methodModule中定义。

Class Module继承。因此#define_method

简化:一个类只是一个模块,但你可以实例化一个类(不是一个模块)。