2016-03-03 145 views

回答

1

它返回对实例fido所有调用方法的阵列。

我没有用它在生产,但它可以是相当不错的调试或编写怪异脚本时。

+0

谢谢!但在这种情况下,'fido'没有任何方法,因此大小为0?但是代码表示大小大于0? – Penny

+0

对不起,我能再问你一个问题吗?代码“def fido.wag:fidos_wag end”中的':fidos_wag'是什么?它是一个属性?或者是其他东西? – Penny

+0

fido是班级狗的一个实例。 “Dog”类继承自“Object”,它为其提供了大量的默认方法。像'nil?','is_a?','object_id'和类似的东西。因此,大小不会为0 – Albin

1

有上一切优秀的文档。 Object#methods

返回的OBJ公共和保护的方法的名称列表。这将包括obj的祖先可以访问的所有方法。如果可选参数为false,它返回的OBJ的公共保护单方法阵列,该阵列将不包括包含在OBJ模块的方法。

既然你是在Dog例如,显然是从Object衍生调用它,方法列表包括所有这些,对Object定义。

相关问题