【发布时间】:2017-06-26 10:57:44
【问题描述】:
我正在上 Odin 项目的课程,现在我必须为自己编写一个新的 #count 方法(使用另一个名称),其行为类似于 Enumerable 模块中的普通方法。
有关计数的文档说以下 (http://ruby-doc.org/core-2.4.0/Enumerable.html#method-i-count):
count → int
count(item) → int
count { |obj|块 } → int通过枚举返回
enum中的项目数。如果 给定参数,enum中等于item的项目数 被计算在内。如果给定一个块,它会计算元素的数量 产生一个真实的价值。
我想我可以将所有这些编写为单独的方法,但我主要想知道一个方法定义是否可以结合count 的最后两个用途 - 与item 和块。自然地,我想知道这三个是否可以组合成一个定义,但我最感兴趣的是最后两个。到目前为止,我似乎找不到可能的答案。
文档页面有以下示例:
ary = [1, 2, 4, 2]
ary.count #=> 4
ary.count(2) #=> 2
ary.count{ |x| x%2==0 } #=> 3
【问题讨论】:
标签: ruby count enumerable method-declaration