Cadence
Track counts and compute rate of iteration. Set up callbacks for various
intervals such as every
n increments or every n ticks
.
Sample
require 'lib/cadence'
data = (1..100).to_a
computer = Cadence::Computer.new do |c|
c.every 5 do
p [:every, 5, n]
end
c.for(:tens).every do
p [:tens, :every, n]
end
c.twenties.every 2 do
p [:twenties, :every, 2, n]
end
c.ticks 1 do
p [:tock, n, ]
end
end
computer.start do |c|
data.each do |n|
c.next
c.tens.next if n % 10 == 0
p [:n, n]
sleep 0.02
end
end
License
MIT
Copyright
Copyright © 2010 Matt Todd.