Ruby ::数组#计数
有没有想过Ruby的 count 方法有多少功能?除了计算数组的元素之外,它还可以做很多很棒的事情。因此,让我们从最常见的用例开始:计算数组的元素。
irb> numbers = [1,2,5,3,6,2,5,3] => [1, 2, 5, 3, 6, 2, 5, 3] irb> numbers.count => 8
假设您要计算数字3在数组中表示的频率。您可以使用循环遍历数组,并在每次看到数字3时增加一个计数器,但是有更好的方法……只需将您要查找的对象传递给该 count 方法!
irb> numbers = [1,2,5,3,6,2,5,3] => [1, 2, 5, 3, 6, 2, 5, 3] irb> numbers.count(3) => 2
最后,您还可以传递一个块来执行更复杂的计数。
irb> numbers = [1,2,5,3,6,2,5,3] => [1, 2, 5, 3, 6, 2, 5, 3] irb> numbers.count(&:even?) => 3
上面的方法基本上是的简写 numbers.count{|n|n.even?}。
更多信息:
RubyDoc–Array#count
Symbol#to_proc 方法