class Frypan::Reactor
Reactor
: Object to calculate (Signal
-> Value)
Public Class Methods
new(signal, init_memos=[{}, {}])
click to toggle source
# File lib/frypan.rb, line 11 def initialize(signal, init_memos=[{}, {}]) @signal = signal @init_memos = init_memos end
Public Instance Methods
each(&block)
click to toggle source
# File lib/frypan.rb, line 25 def each(&block) loop(&block) end
loop(&block)
click to toggle source
# File lib/frypan.rb, line 16 def loop(&block) memos = @init_memos while true last_memo = @signal.__pull({}, *memos) memos = [last_memo, memos[0]] block.call(last_memo[@signal]) end end