【发布时间】:2015-06-29 19:13:29
【问题描述】:
给定一个基本的 ruby 类和模块,有没有办法在扩展类的实例后立即从模块中调用方法?
class Dog
def initialize(name)
@name = name
end
end
module Speech
def say_name
puts @name
end
# call to method in module ?
say_name
end
fido = Dog.new('fido')
fido.extend Speech => *'fido'*
我知道“包含”方法在包含模块时有点像回调,但我希望扩展类似的东西。
【问题讨论】:
-
“我知道 'included' 方法在包含模块时的行为有点像回调,但我希望extend 有类似的东西。” 你意思是像
Module#extended? -
是的...我猜 Module#extended 是我正在寻找的。这就是我在阅读文档之前阅读博客所得到的。