我无法理解detect
中的Enumerable
方法。我尝试了示例代码:
(1..6).detect { |i| i % 2 == 0 and i % 3 == 0 }
#=> 6
但我仍然神秘莫测。任何帮助将不胜感激。
答案 0 :(得分:2)
根据documentation,此方法返回块中返回true的可枚举对象中的第一个元素。
因此,该范围内可被2和3整除的第一个数字是6,因此返回。如果不是这种情况,并且2和3都没有数字可以整除,那么该方法将返回nil
。
这是一种检测"的方法。第一个使块成为真的对象。