coroutine.wrap
Lua function

coroutine.wrap

Summary

Creates a thread and returns a function to resume it

Prototype

f = coroutine.wrap (f)



Description

Creates a thread with body f, and then returns a function that can be used to resume the thread. This is a slightly simpler interface than the coroutine.create / coroutine.resume sequence, however it makes error management harder.


function f (s)
  print ("Entering f with value", s)
  v = coroutine.yield ()
  print ("After yield, v is", v)
  return 22
end -- f

resumer = coroutine.wrap (f) 
resumer (88)  -- start thread
resumer (99)  -- resume after yield

 -->
 
Entering f with value 88
After yield, v is 99




See Also ...

Topics

DOC_lua_base Lua base functions
DOC_lua_bc Lua bc (big number) functions
DOC_lua_bit Lua bit manipulation functions
DOC_lua_coroutines Lua coroutine functions
DOC_lua_debug Lua debug functions
DOC_lua_io Lua io functions
DOC_lua_math Lua math functions
DOC_lua_os Lua os functions
DOC_lua_package Lua package functions
DOC_lua_rex Lua PCRE regular expression functions
DOC_lua Lua script extensions
DOC_lua_string Lua string functions
DOC_lua_tables Lua table functions
DOC_lua_utils Lua utilities
DOC_scripting Scripting

Lua functions

LUA_coroutine.create coroutine.create (Creates a new coroutine thread)
LUA_coroutine.resume coroutine.resume (Start or resume a thread)
LUA_coroutine.running coroutine.running (Returns the running coroutine)
LUA_coroutine.status coroutine.status (Returns the status of a thread)
LUA_coroutine.yield coroutine.yield (Yields execution of thread back to the caller)

(Help topic: lua=coroutine.wrap)

DOC_contents Documentation contents page