假设我有
module Mod
def self.included(base)
some_method
end
def some_method
end
end
class A
include Mod
end
我得到 some_method
未定义。那么如何在包含 Mod
后立即调用 some_method
呢?
最佳答案
您必须创建一个base
类实例来调用它。
module Mod
def self.included(base)
base.new.some_method
end
def some_method
end
end
class A
include Mod
end
在包含模块Mod
之后,some_method
将作为类A
实例的实例方法可用。
关于ruby - 了解 self.including 在 ruby 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22860126/