所以我完全迷失了它要求我做的事情。
跟踪方法
向类或模块添加方法是一个合乎逻辑的开始。 > method_added是Module上的实例方法,因此继承到?> Class。当您使用它时,您只需将该方法实现为类(或模块)上的实例>方法 - 因此它是一种自我方法,基本上 - 并且听取>以获取方法的名称加入。
它从运行时接收的唯一信息是方法的名称,以>符号的形式。
生命周期回调很简单,通过一些练习很快就能理解你会很快理解它。这是一个练习让你尝试一下 - >简单地让测试通过。
class Dojo
@@methods_added = []
def self.methods_added
@@methods_added
end
def self.method_added(method_name)
@@methods_added << method_name
end
end
所以我上面的请求完全没问题。我的问题围绕着以下问题......
跟踪单例方法是相同的,只是您使用&gt; singleton_method_added生命周期回调而不是method_added。 &gt; singleton_method_added具有更基本的性质,在&gt; BasicObject上定义。
值得注意的method_added唯一有趣的区别是,因为&gt; singleton_method_added本身就是一个单例方法,所以只要它被添加就会收到回调 - >关于它自己。
让我们直接进行练习。
class Dojo
@@singleton_methods_added = []
def self.singleton_methods_added
@@singleton_methods_added
end
end
---屏幕截图低于--- http://imgur.com/Cjbmd2K
对于我想要做的事,我没有最模糊的想法,请有人帮助我。我现在已经吮吸了几个小时了。我很绝望。我确定它的东西非常简单,但我无法在我的生命中得到它。请新的一双眼睛!
我不喜欢他们对这里的说明模糊不清,而且他们没有为你提供任何提示&#34;或&#34;见解决方案&#34;。让我疯狂!
答案 0 :(得分:0)
我终于明白了,我昨天离开它直到今天早上。我猜新鲜的眼睛有帮助。
class Dojo
@@singleton_methods_added = []
def self.singleton_methods_added
@@singleton_methods_added
end
def self.singleton_method_added(method_name)
@@singleton_methods_added << method_name
end
end