理解`detect`方法

时间:2015-05-20 03:46:36

标签: ruby enumerable

我无法理解detect中的Enumerable方法。我尝试了示例代码:

(1..6).detect  { |i| i % 2 == 0 and i % 3 == 0 }
#=> 6

但我仍然神秘莫测。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

根据documentation,此方法返回块中返回true的可枚举对象中的第一个元素。

因此,该范围内可被2和3整除的第一个数字是6,因此返回。如果不是这种情况,并且2和3都没有数字可以整除,那么该方法将返回nil

这是一种检测"的方法。第一个使块成为真的对象。