Lua
文章平均质量分 53
腼腆纯朴程序猿
这个作者很懒,什么都没留下…
展开
-
Lua学习笔记(四)—— 协同程序的参数传递
1、 协同程序的参数传递a) 在第一次调用resume的时候,并没有对应的yield在等待它时,所有传递给resume的额外参数都将视为协同程序主函数的参数co = coroutine.create(function (a,b,c)print("co",a,b,c)end)coroutine.resume(co,1,2,3) b) 在resume调用返回的内容中,第原创 2014-07-15 21:41:05 · 900 阅读 · 0 评论 -
Lua学习笔记(五) —— 非抢先式的多线程
1、 概念协同程序提供一种协作式的多线程。每个协同程序都等于是一个线程。一对yield-resume可以将执行权在不同线程之间切换。然而,协同程序与常规的多线程的不同之处在于,协同程序是非抢先式的。就是说,当一个协同程序在运行时,是无法从外部停止它的。只有当协同程序显示地要求挂起时(调用yield),它才会停止。对于有些应用而言,这没有问题,而对于另外一些应用则可能无法接受这种情况。当不存在抢原创 2014-07-15 21:47:45 · 1038 阅读 · 0 评论 -
Lua学习笔记(二)—— 函数
1、 可以在字符串前放置操作符“#”来获得该字符串的长度原创 2014-07-14 21:35:02 · 621 阅读 · 0 评论 -
Lua学习笔记(七) —— 数据持久化
一、 数据文件1、 dofile函数 与loadfile函数dofile当做lua运行代码的chunk的一种原始的操作。Dofile实际上是一个辅助的函数。真正完成功能的函数loadfile;与dofile不同的是loadfile编译代码成中间码并且返回编译后的chunk作为一个函数,而不执行代码;另外loadfile不会抛出错误信息而是返回错误代码,我们可以这样定义dofile;fu原创 2014-07-16 21:13:12 · 897 阅读 · 0 评论 -
Lua学习笔记(三)——协同程序
一、 迭代器1、 function values(t)local i = 0return function ()i = i + 1 ;return t[i];endend t = {20,30,40,45,15,23,456,15,5}iter = values(t);while true doelement = iter();if elemen原创 2014-07-15 21:39:43 · 704 阅读 · 0 评论 -
Lua学习笔记(六)—— 数组与集合
一、 数组a) 新建一个数组 b) 用长度操作符(#)来获取数组的长度 c) 可以使用0、1或其他任意值来作为数组的起始索引 d) 可以使用0、1或其他任意值来作为数组的起始索引 e) 二、 矩阵与多维数组a) 有两种方式来表示数组i. 第一种,使用“数组的数组” ii. 第二种,将两个索引合并为一个索引1. 如果索引是整数 2.原创 2014-07-15 22:03:51 · 4699 阅读 · 1 评论 -
Lua学习笔记(一) —— 数据类型
8种基础类型 算术操作符 关系操作符 逻辑运算符逻辑运算符有and、or、not三个 字符串连接字符串的连接通过”..”操作符 连接字符串是创建一个新的字符串,而不是在原有的字符串上进行修改 table的构造式table的访问起始值是1 而不是0原创 2014-07-14 21:26:57 · 562 阅读 · 0 评论