Lua之wrap函数用法示例_Lua

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

时间: 2024-10-07 12:20:11

Lua之wrap函数用法示例_Lua的相关文章

Lua函数用法研究_Lua

在Lua 基本语法快速入门 中有涉及到函数的用法,但只是普通的应用,并没有深成次的研究一下,介于函数用的还是比较多的就专门做个专题研究一下~   一.函数.变量的用法 函数的定义用关键字function .然后加函数名和变量.注意后面没有do.最后以end结束. 在函数中的变量默认是全局变量,但通常情况下函数中的变量都是在函数中有效的.所以要在声明的时候加上"local" 标明只在局部有效.二.返回多个结果值 在Lua中的函数可以返回多个返回值.这与C等语言有很大的不同.因为从根本上讲

MySQL截取和拆分字符串函数用法示例_Mysql

本文实例讲述了MySQL截取和拆分字符串函数用法.分享给大家供大家参考,具体如下: 首先说截取字符串函数: SUBSTRING(commentid,9) 这个很简单,从第9个字符开始截取到最后.SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结尾,负数是倒数第几位. 接着说拆分字符串函数: SUBSTRING_INDEX(commentid, '-', 1) 这个就稍稍复杂一些了,他的意思是以 - 进行拆分字符串,从第一个关键词开始取前面所有的字符串.如果上面的第三个参数修改为 -

JS作为值的函数用法示例_javascript技巧

本文实例讲述了JS作为值的函数用法.分享给大家供大家参考,具体如下: function callSomeFunction(someFunction,someArgument){ return someFunction(someArgument); } 这个函数接受两个参数,第一个函数应该是一个函数,第二个参数应该是要传递给该函数的一个值.该函数是通用的. 如: function add10(num){ return num+10; } var result = callSomeFunction(

golang中strconv.ParseInt函数用法示例_Golang

本文实例讲述了golang中strconv.ParseInt函数用法.分享给大家供大家参考,具体如下: golang strconv.ParseInt 是将字符串转换为数字的函数,功能灰常之强大. 参数1 数字的字符串形式 参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制 参数3 返回结果的bit大小 也就是int8 int16 int32 int64 func ParseInt(s string, base int, bitSize int) (i int64, err erro

javascript中call,apply,bind函数用法示例_javascript技巧

本文实例讲述了javascript中call,apply,bind函数用法.分享给大家供大家参考,具体如下: 一.call函数 a.call(b); 简单的理解:把a对象的方法应用到b对象上(a里如果有this,会指向b) call()的用法:用在函数上面 var Dog=function(){ this.name="汪星人"; this.shout=function(){ alert(this.name); } }; var Cat=function(){ this.name=&qu

Lua中的函数代码实例_Lua

在lua中,函数是一种"第一类值",它们具有特定的词法域. 第一类值:表示在lua中,函数与其他传统类型的值(数字和字符串)具有相同的权利,函数可以存储到变量中(无论全局变量还是局部变量)或者是table中,可以作为实参传递给其他函数,还可以作为其他函数的返回值. 词法域:是指一个函数可以嵌套在另一个函数中.内部的函数可以访问外部函数中的变量. 看例子代码: 复制代码 代码如下: do       function foo(a, b, c)          print(a, b, c

smarty自定义函数用法示例

本文实例讲述了smarty自定义函数用法.分享给大家供大家参考,具体如下: <?php require_once "smarty.config.php"; //自定义一个函数 //调用方法:<{test1 times="4" size="5" con="Hello,Liuyibao!" color="red"}> function test1($args){ $str="&quo

Lua loadstring函数用法实例_Lua

该函数的返回值是返回一个function,如果load失败,则返回nil 例子代码: 复制代码 代码如下: --i = 32  local i = 0  f = loadstring("i = 1 + i; print(i)");  g = function ()          i = 1 + i;          print(i)      end  f()  g()  f操作的全局i,g操作的是局部i,因为,loadstring总是在全局环境中去编译它的字符串 loadstr

Lua UnPack函数用法实例_Lua

unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素,例子代码如下: 复制代码 代码如下: do  arrayData = {"a", "b", "c", "d", "e"};  function returnMoreValues()   return 1, 2, 3;  end  a, b, c = returnMoreValues();  --print(a, b, c