Commit 290faf88 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #1887 from suzukaze/add-enumerable.count

Add Enumerable#count
parents 53a282ac 17fdd815
......@@ -208,4 +208,22 @@ module Enumerable
a
end
end
def count(v=nil, &block)
count = 0
if block
self.each do |e|
count += 1 if block.call(e)
end
else
if v == nil
self.each { count += 1 }
else
self.each do |e|
count += 1 if e == v
end
end
end
count
end
end
......@@ -53,3 +53,10 @@ assert("Enumerable#first") do
assert_equal [1, 2, 3], a.first(10)
assert_nil [].first
end
assert("Enumerable#count") do
a = [1, 2, 4, 2]
assert_equal 4, a.count
assert_equal 2, a.count(2)
assert_equal 3, a.count{|x| x % 2 == 0}
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment