Coroutines and Yielding

Coroutines allow Lua to perform cooperative multitasking. They let you pause and resume functions at specific points.

Creating and Using Coroutines:

function step()
  for i = 1, 3 do
    print("Step " .. i)
    coroutine.yield()
  end
end

co = coroutine.create(step)

coroutine.resume(co)  -- Step 1
coroutine.resume(co)  -- Step 2
coroutine.resume(co)  -- Step 3

coroutine.yield() pauses execution, and coroutine.resume() continues it. Great for async-like flows in games.

← PrevNext →