RxLua/examples/coroutine.lua

20 lines
371 B
Lua

local Rx = require 'rx'
-- Cheer someone on using functional reactive programming
local observable = Rx.Observable.fromCoroutine(function()
for i = 2, 8, 2 do
coroutine.yield(i)
end
return 'who do we appreciate'
end)
observable
:map(function(value) return value .. '!' end)
:subscribe(print)
repeat
Rx.scheduler:update()
until Rx.scheduler:isEmpty()