码迷,mamicode.com
首页 > 其他好文 > 详细

coroutine

时间:2021-06-02 13:24:49      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:yield   变量   默认   活动   开始   @param   官方   --   函数   

1.官方文档中的解释

针对目前的lua5.4,官方api中对coroutine的解释如下
---@class coroutinelib
coroutine = {}

---创建一个主体函数为 `f` 的新协程。 f 必须是一个 Lua 的函数。 返回这个新协程,它是一个类型为 `"thread"` 的对象。
---@param f function
---@return thread
function coroutine.create(f) end

---如果协程 `co` 可以让出,则返回真。`co` 默认为正在运行的协程。
---@param co? thread
---@return boolean
function coroutine.isyieldable(co) end

---@version >5.4
---关闭协程 `co`,并关闭它所有等待 *to-be-closed* 的变量,并将协程状态设为 `dead` 。
---@param co thread
---@return boolean noerror
---@return any errorobject
function coroutine.close(co) end

---开始或继续协程 `co` 的运行。
---@param co    thread
---@param val1? any
---@return boolean success
---@return any result
---@return ...
function coroutine.resume(co, val1, ...) end

---返回当前正在运行的协程加一个布尔量。 如果当前运行的协程是主线程,其为真。
---@return thread running
---@return boolean ismain
function coroutine.running() end

---以字符串形式返回协程 `co` 的状态。
---@param co thread
---@return
---| ‘"running"‘   # 正在运行。
---| ‘"suspended"‘ # 挂起或是还没有开始运行。
---| ‘"normal"‘    # 是活动的,但并不在运行。
---| ‘"dead"‘      # 运行完主体函数或因错误停止。
function coroutine.status(co) end

---创建一个主体函数为 `f` 的新协程。 f 必须是一个 Lua 的函数。 返回一个函数, 每次调用该函数都会延续该协程。
---@param f function
---@return fun(...):...
function coroutine.wrap(f) end

---挂起正在调用的协程的执行。
---@return ...
function coroutine.yield(...) end

coroutine

标签:yield   变量   默认   活动   开始   @param   官方   --   函数   

原文地址:https://www.cnblogs.com/still-smile/p/14819470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!