繁体   English   中英

ruby代码中的assert fido.methods.size> 0是什么意思?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM