欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Lua之wrap函数用法示例

程序员文章站 2022-04-09 22:50:09
wrap和create差不多,都是去创建一个coroutine,有些区别: 1,wrap不会通过resume去得到第一个返回值(错误信息) 2,在创建完之后,直接调用函...

wrap和create差不多,都是去创建一个coroutine,有些区别:

1,wrap不会通过resume去得到第一个返回值(错误信息)
2,在创建完之后,直接调用函数,转到coroutine,而create却要resume才能转到coroutine。
3,wrap不能查看状态。

例子代码:

复制代码 代码如下:

do 
    function createwrap() 
        return coroutine.wrap(function(x) 
                                    print("hello", x); 
                                    coroutine.yield(); 
                                    print("continue") 
                                end); 
    end 
 
    coa = createwrap(); --get the function, resum the coroutine 
    coa(3); 
    coa(3); --call the global function, , resum the coroutine 
 
end