在Ruby中,我可以使用一种方法,可以在特定模块中的任何类中使用

时间:2018-03-09 19:34:42

标签: ruby

我有一个记录器方法,我想让模块中的所有类都可以访问它。有没有办法做到这一点,而不只是将方法放在一个模块中,并将其包含在每一个类中?我也不想用模块调用方法(例如Module.logger)

据我所知,班级根本不会从其所在的模块继承,所以无论如何我都无法理解这一点,但我想我要确定。

1 个答案:

答案 0 :(得分:0)

Ruby没有嵌套类。这些课程不在模块中。类和模块之间没有任何关系。

引用类的常量在模块中是命名空间,但这与类和模块之间的关系无关。

所以,不,你想要的是不可能的,原因很简单,因为类和模块之间没有任何关系可以被利用来以某种方式使方法可用。你将不得不寻求良好的旧(mixin)继承。