module Enumerable
def count(object = undefined, &block)
def count(object = undefined, &block) %x{ var result = 0; if (object != null) { block = function(obj) { return #{ `obj` == `object` }; }; } else if (block === nil) { block = function() { return true; }; } var proc = function(obj) { var value; if ((value = block(obj)) === __breaker) { return __breaker.$v; } if (value !== false && value !== nil) { result++; } } #{self}.$each(proc); return result; } end