Sha256: a06eadbc99cb0f0ae8867d2ce098b5564585aa9b1dc0d9dad8519c75643f4c9a
Contents?: true
Size: 565 Bytes
Versions: 47
Compression:
Stored size: 565 Bytes
Contents
unless Enumerable.method_defined? :cycle require 'backports/tools/arguments' 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
47 entries across 47 versions & 4 rubygems