Sha256: 8a88cf64cabf2fe3e858b452af48785ad25b121a13fd7ea72bf3c32d881c3a79
Contents?: true
Size: 555 Bytes
Versions: 26
Compression:
Stored size: 555 Bytes
Contents
unless Enumerable.method_defined? :cycle require 'backports/tools' require 'enumerator' module Enumerable def cycle(n = nil) return to_enum(:cycle, n) unless block_given? n = n && Backports.coerce_to_int(n) if n == nil || n >= 1 cache = [] each do |elem| cache << elem yield elem end if n (n-1).times { cache.each{|e| yield e } } else loop { cache.each{|e| yield e } } end unless cache.empty? end nil end end end
Version data entries
26 entries across 26 versions & 2 rubygems