local on = { Event = function(event, callback) end }
local function get_name() end
local function hello()
local co = function()
local f = nil
coroutine.yield(function(f_)
f = f_
end)
coroutine.yield(f)
end
-- ドアが開くと実行されます。
-- よくわからなかったらタイマーで想像してください。
on.Event("ドアが開く", function()
local name = get_name()
local f = co()
if f ~= nil then
f(name)
end
end)
return coroutine.wrap(co)
end
local function main()
local co = hello()
co()(function(name)
print("こんにちは" .. name .. "さん")
end)
end