1 开始 2 类型与值 3 表达式 4 语句 5 函数 6 深入函数 7 迭代器与泛型for 8 编译,执行与错误 9 协同程序(coroutine) 10 完整的示例 11 数据结构 12 数据文件与持久性 13 元表(metatable)与元方法(metamethod) 14 环境 15 模块与包 16 面向对象编程 17 弱引用 18 数学库 19 table库 20 字符串表 21 I/O库 22 操作系统库 23 调试库 24 C API概述 25 扩展应用程序 26 从Lua调用C…
摘要:lua程序设计第二版学习笔记 脚本语言的基础语法大都比较简单,这里只列举一些lua独有,或者需要特别注意的语法点. 书中前三章的内容是一些惯常的引言,基础数据类型,运算符等内容,相对简单,这里就不再赘述. 语句 1.do...end 可以用来包含一个程序块. 2.在循环语句中声明的局部变量,在条件判断时依然存在 3.for循环分为数字型和泛型 数字型: for var=exp1, exp2, exp3 do <执行体> end 类似于C中将括号和句号去掉,var初始值为exp1,增长到e…
(摘自Lua程序设计) 基本: Lua语言的字符串是一串字节组成的序列. 在Lua语言中,字符使用8个比特位来存储. Lua语言中的字符串可以存储包括空字符在内的所有数值代码,这意味着我们可以在字符串中存储任意的二进制数据. Lua语言中的字符串是不可变值,我们不能像C语言中那样直接改变某个字符串中的某个字符,但是我们可以通过创建一个新字符串来达到修改的目的. 例如: a = "one string" b = string.gsub(a, "one", anothe…
(摘自Lua程序设计) 数值常量 从Lua5.3版本开始Lua语言为数值格式提供了两种选择:被称为integer的64位整形和被称为float的双精度浮点类型(注意,"float"代表双精度),对于资源受限的平台,可以使用Lua精简模式,32位整形和单精度浮点型. 具有十进制小数或者指数的数值会被当作浮点类型,否则会被当作整形值. 整形和浮点型值的类型都是"number" type(3) --> number type(3.5) --> number t…
Lua简介 Lua是一种简单.可拓展.可移植及高效的脚本语言. 开始 Lua之间不需要分隔符 运行方式: Linux下: lua -i prog dofile("lib1.lua") 函数定义: function func() return 123; end 词法规范 标识符可以以任意字母.数字.下划线构成,但是不能以数字开头,避免下划线后面跟一个或多个大写字母,这类字符被Lua保留作为特殊用途.保留字有:and.break.do.else.elseif.end.false.for.f…
在Lua中,一切都是变量,除了关键字.TTMD强大了. 1.注释 -- 表示注释一行 --[[ ]]表示注释一段代码,相当于C语言的/*....*/ 注意:[[ ... ]]表示一段字符串 2.lua编程 先从最简单的来了解lua吧 print("Hello Lua") --打印结果:Hello Lua 在Lua中,语句之间可以用分号";"隔开,也可以用空白隔开.一般来说,如果多个语句写在同一行的话,建议总是用分号隔开. a.控制语句 Lua 有好几种程序控制语句,…
lua中每个值都有一个元表,talble和userdata可以有各自独立的元表,而其它类型的值则共享其类型所属的单一元表.lua在创建table时不会创建元表. t = {} print(getmetatable(t)) --显示过元表 此时是nil --可以用setmetatable来设置或修改任何table的元表 t1 = {} setmetatable(t,t1) assert(getmetatable(t) == t1) 任何table可以作为任何值的元表,而一组相关的table可以共享…
1.lua中的标识符可以是由任意字母.数字和下划线构成的字符串,但不能以数字开头.2.lua将通常类似"_VALUE"的标识符作为保留标识符3.lua的保留字 and break do else elseif end false for function if in loacl nil not or repear return then true until while 有大小写之分 4.行注释-- 块注释--[[ …… ]]==============================…
1.Lua面向对象实现步骤 ①创建一个全局表(称之为元表) ②设置这个元表的__index值(值通常为元表自己,这样就能通过__index查找到对应的属性和方法)__index 赋值其实是一个function的语法糖,Sharp.__index = Sharp等价于Sharp.__index = function(key) return Sharp[key] end ③新建一个表,使用setmetatable方法将元表设置到这个新表中,那这个新表就能以对象的方式来调用对应的属性和方法了,当这个对…
----------------------------------------------------------- Lua面向对象3 local smartMan = { name = "Tinywan", age = , money = , sayHello = function() print("Tinywan say 大家好") end } local t1 = {} local mt = { __index = smartMan, __newindex…