【发布时间】:2015-06-22 21:41:27
【问题描述】:
所以我完全不知道它要我做什么。
跟踪方法
向类或模块添加方法是一个合乎逻辑的起点。 >method_add 是 Module 上的一个实例方法,因此继承到 ?>Class 中。当您使用它时,您只需将该方法实现为类(或模块)上的实例 > 方法 - 所以它基本上是一个 self 方法 - 并监听 > 添加的方法的名称。
它从运行时收到的唯一信息是方法的名称,以>符号的形式。
生命周期回调很简单,只要稍加练习,您就会很快理解它。这是一个供您尝试的练习 - >只需让测试通过即可。
class Dojo
@@methods_added = []
def self.methods_added
@@methods_added
end
def self.method_added(method_name)
@@methods_added << method_name
end
end
所以我很好地得到了上面的请求。我的问题围绕以下...
跟踪单例方法是相同的,只是您使用 >singleton_method_added 生命周期回调而不是 method_added。 >singleton_method_added 具有更基本的性质在 >BasicObject 上定义。
唯一值得注意的与 method_added 的有趣区别是,由于 >singleton_method_added 本身就是一个单例方法,它会在添加后立即收到一个回调 - >关于它自己。
让我们直接进入练习。
class Dojo
@@singleton_methods_added = []
def self.singleton_methods_added
@@singleton_methods_added
end
end
---下面的屏幕截图--- http://imgur.com/Cjbmd2K
我对我要做什么一无所知,有人请在这里帮我。我已经为此苦恼了几个小时了。我很绝望。我敢肯定它非常简单,但我一辈子都无法得到它。请换一双眼睛!
我不喜欢他们在这里的说明含糊不清,而且他们没有为您提供任何“提示”或“查看解决方案”。把我逼疯了!
【问题讨论】:
-
点击运行按钮会发生什么?
-
看起来他们并没有要求你做任何事情。只是展示一个概念。
-
当你只点击运行按钮而不添加任何代码时,它只会返回“不正确,这不是我们要查找的代码。”