Running a Code Block Periodically : Code Block « Method « Ruby






Running a Code Block Periodically

def every_n_seconds(n)
  loop do
    before = Time.now
    yield
    interval = n-(Time.now-before)
    sleep(interval) if interval > 0
  end
end

every_n_seconds(5) do
 puts "#{Time.now.strftime("%X")}... beep!"
end

 








Related examples in the same category

1.A block is a section of code that can be passed to a method much like passing an argument.
2.use code blocks with Ruby iterators like each, upto, downto, and times
3.block is invoked in conjunction with a method.
4.Place a space between the pipes ( | ) and the variable names
5.Code Blocks and each method
6.A code block is an anonymous, nameless method or function.
7.define hello so that it contains only a yield statement,
8.print all the elements in an array using the each method followed by a block
9.convert a block into an object.
10.1.upto(5) { ...code to loop here... }
11.10.downto(5) { ...code to loop here... }
12.0.step(50, 5) { ...code to loop here... }
13.1.upto(5) { |number| puts number }
14.Nested block logics
15.block pointer