Difference between revisions of "Coroutine.yield"
From GiderosMobile
Line 2: | Line 2: | ||
'''Available since:''' Gideros 2011.6<br/> | '''Available since:''' Gideros 2011.6<br/> | ||
=== Description === | === Description === | ||
− | In order for multiple coroutines to share execution they must stop executing (after performing a sensible amount of processing) and pass control to another thread. This act of submission is called yielding. Coroutines explicitly call a Lua function coroutine.yield(), which is similar to using return in functions. What differentiates yielding from function returns is that at a later point we can reenter the thread and carry on where we left off. When you exit a function scope using return the scope is destroyed and we cannot reenter it, e.g., | + | <translate>In order for multiple coroutines to share execution they must stop executing (after performing a sensible amount of processing) and pass control to another thread. This act of submission is called yielding. Coroutines explicitly call a Lua function coroutine.yield(), which is similar to using return in functions. What differentiates yielding from function returns is that at a later point we can reenter the thread and carry on where we left off. When you exit a function scope using return the scope is destroyed and we cannot reenter it, e.g.,</translate> |
<source lang="lua"> | <source lang="lua"> | ||
coroutine.yield(val1,...) | coroutine.yield(val1,...) | ||
</source> | </source> | ||
=== Parameters === | === Parameters === | ||
− | '''val1''': (any) value to return from coroutine.resume call '''optional'''<br/> | + | '''val1''': (any) <translate>value to return from coroutine.resume call</translate> '''optional'''<br/> |
− | '''...''': (multiple) other optional values that will be returned from coroutine.resume call '''optional'''<br/> | + | '''...''': (multiple) <translate>other optional values that will be returned from coroutine.resume call</translate> '''optional'''<br/> |
Revision as of 13:33, 23 August 2018
Available since: Gideros 2011.6
Description
In order for multiple coroutines to share execution they must stop executing (after performing a sensible amount of processing) and pass control to another thread. This act of submission is called yielding. Coroutines explicitly call a Lua function coroutine.yield(), which is similar to using return in functions. What differentiates yielding from function returns is that at a later point we can reenter the thread and carry on where we left off. When you exit a function scope using return the scope is destroyed and we cannot reenter it, e.g.,
coroutine.yield(val1,...)
Parameters
val1: (any) value to return from coroutine.resume call optional
...: (multiple) other optional values that will be returned from coroutine.resume call optional