Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
断言fido.methods.size>;0在ruby代码中是什么意思?_Ruby_Methods - Fatal编程技术网

断言fido.methods.size>;0在ruby代码中是什么意思?

断言fido.methods.size>;0在ruby代码中是什么意思?,ruby,methods,Ruby,Methods,我现在开始学习一些ruby,正在做ruby Koans练习。然后我陷入了代码中: def test_objects_have_methods fido = Dog.new assert fido.methods.size > 0 end 我对fido.methods感到困惑。它指的是什么 谢谢大家! 它返回实例上所有可调用方法的数组fido 我还没有在生产中使用过它,但在调试或编写奇怪的脚本时,它会非常好。它返回实例fido上所有可调用方法的数组 我还没有在生产中使

我现在开始学习一些ruby,正在做ruby Koans练习。然后我陷入了代码中:

def test_objects_have_methods
    fido = Dog.new
    assert fido.methods.size > 0 
  end
我对
fido.methods
感到困惑。它指的是什么


谢谢大家!

它返回实例上所有可调用方法的数组
fido


我还没有在生产中使用过它,但在调试或编写奇怪的脚本时,它会非常好。

它返回实例
fido
上所有可调用方法的数组


我还没有在生产中使用过它,但在调试或编写奇怪的脚本时,它会非常好。

关于所有内容都有很好的文档:

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


由于您是在
Dog
实例上调用它,该实例显然是从
Object
派生而来的,因此方法列表包括所有在
Object
上定义的方法。关于所有方法,都有很好的文档说明:

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


由于您是在
Dog
实例上调用它的,该实例显然是从
Object
派生而来的,因此该方法列表包含了在
Object
上定义的所有方法,谢谢!但是在这种情况下,
fido
没有任何方法,所以大小是0?但代码显示大小大于0?对不起,我能再问你一个问题吗?代码
def fido.wag:fidos_wag end
中的
:fidos_wag
是什么?这是一种属性吗?还是别的?fido是类狗的一个实例。类
Dog
继承自
Object
,这给了它相当多的默认方法。像
nil?
是一个?
对象id
之类的东西。所以大小永远不会是0。
:fido_wag
是一个符号,谢谢!但是在这种情况下,
fido
没有任何方法,所以大小是0?但代码显示大小大于0?对不起,我能再问你一个问题吗?代码
def fido.wag:fidos_wag end
中的
:fidos_wag
是什么?这是一种属性吗?还是别的?fido是类狗的一个实例。类
Dog
继承自
Object
,这给了它相当多的默认方法。像
nil?
是一个?
对象id
之类的东西。因此大小永远不会是0。
:fido_wag
是一个符号