[英]What does the assert fido.methods.size > 0 mean in the ruby code?
我现在开始学习一些红宝石,并且正在做Ruby Koans练习。 然后我陷入了代码:
def test_objects_have_methods
fido = Dog.new
assert fido.methods.size > 0
end
我对fido.methods
感到困惑。 它指的是什么?
谢谢!
它返回实例fido
上所有可调用方法的数组。
我没有在生产中使用它,但是它对于调试或编写奇怪的脚本非常有用。
关于所有内容都有很好的文档。 Object#methods
:
返回obj的公共方法和受保护方法的名称的列表。 这将包括在obj的祖先中可访问的所有方法。 如果可选参数为
false
,则返回obj的公共和受保护的单例方法的数组,该数组将不包含obj中包含的模块中的方法。
由于您是在Dog
实例上调用它的,因此显然是从Object
派生的,方法列表包括所有在Object
定义的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.