什么是断言fido.methods.size> 0表示红宝石代码?

时间:2016-03-03 07:08:09

标签: ruby methods

我现在开始学习一些红宝石,正在做Ruby Koans练习。然后我陷入了代码:

\d{2}-(?:\d{4}-){3}\d{1} 

我对\d{2} match a digit [0-9] Quantifier: {2} Exactly 2 times - matches the character - literally (?:\d{4}-){3} Non-capturing group Quantifier: {3} Exactly 3 times \d{4} match a digit [0-9] Quantifier: {4} Exactly 4 times - matches the character - literally \d{1} match a digit [0-9] Quantifier: {1} Exactly 1 time (meaningless quantifier) MATCH INFORMATION 感到困惑。它指的是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

我还没有在制作中使用它,但它可以很好地用于调试或编写奇怪的脚本。

答案 1 :(得分:1)

关于一切都有很好的文档。 Object#methods

  

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

由于您在Dog实例上调用它,显然是从Object派生的,因此方法列表包含Object上定义的所有内容。