|
|
1
2
第一个没有,因为include所做的只是将模块添加到包含的模块列表中。只有当类本身没有定义特定的方法,或者该方法调用super时,才会调用这些函数。所以你的代码永远不会被调用。
如果要使用模块,必须使用
这是技术上的答案。 从更务实的角度来看,你应该重新思考这一点。像这样反复扩展字符串是不好的,这将对大多数实现造成巨大的性能消耗(例如,它会清除MRI上的整个方法缓存),并且是一种巨大的代码气味。
我的第一个想法是去monkeypatch
|
|
|
2
0
这看起来有点复杂。我可能不明白你想要实现什么,但是像这样的事情呢?
和部分规格:
|