我正在上 The Odin Project 的课程,现在我必须为自己编写一个新#count
方法(使用另一个名称),其行为类似于 Enumerable 模块中的普通方法。
有关计数的文档说明如下(http://ruby-doc.org/core-2.4.0/Enumerable.html#method-i-count):
计数→整数
计数(项目)→整数
count { |obj| 块 } → int
enum
通过枚举返回项目数。如果给出了参数,则计算enum
其中等于的项目item
数。如果给定一个块,它会计算产生真值的元素的数量。
我想我可以将所有这些编写为单独的方法,但我主要想知道一个方法定义是否可以结合count
-的最后两种用法item
和 with 块的最后两种用法。当然,我想知道这三个是否可以组合成一个定义,但我最感兴趣的是最后两个。到目前为止,我似乎找不到可能的答案。
文档页面有以下示例:
ary = [1, 2, 4, 2]
ary.count #=> 4
ary.count(2) #=> 2
ary.count{ |x| x%2==0 } #=> 3