字符类
说明
.
与任何字符配对
%a
与任何字母配对
%c
与任何控制符配对(例如\n)
%d
与任何数字配对
%l
与任何小写字母配对
%p
与任何标点(punctuation)配对
%s
与空白字符配对
%u
与任何大写字母配对
%w
与任何字母/数字配对
%x
与任何十六进制数配对
%z
与任何代表0的字符配对
%x
与字符x配对,主要用来处理表达式中有功能的字符,例如%%与%配对
[数个字符类]
与任何[]中包含的字符配对,例如[%w_]与任何字母/数字,或下划线配对
[^数个字符类]
与任何不包含在[]中的字符...
在lua开发中我们经常会混淆这两者之间的区别,下面通过一个示例来解释:12345678910111213141516171819202122Class = {}Class.__index = Class function Class.new(x,y) local cls = {} setmetatable(cls, Class) cls.x = x cls.y = y return clsendfunction Class:test()-- 等价于-- function Class.test(self) prin...
string库概念lua解释器对字符串支持有限,一个程序可以创建字符并连接字符串,但是不能截取子串,检查字符串的大小,内容等,操作字符串的功能基本来自string库
lua5.1中字符串库的所有函数如下
函数
描述
示例
结果
len
计算字符串长度
string.len(“abcd”)
4
rep
返回字符串s的n个拷贝
string.rep(“abcd”,2)
abcdabcd
lower
返回字符串全部字母大写
string.lower(“AbcD”)
abcd
upper
返回字符串全部字母小写
string.upper(“AbcD”)
ABCD
f...
lua标准库之数学库
数学库概念数学库由算术函数的标准集合组成;比如三角函数(sin、cos、tan、asin、acos、etc)幂指函数(exp、log、log10),舍入函数(floor、ceil)、max、min,加上一个变量pi,数学库也定义了一个幂操作符 ^
函数
描述
示例
结果
abs
取绝对值
math.abs(-15)
15
acos
反余弦函数
math.acos(0.5)
1.04719755
asin
反正弦函数
math.asin(0.5)
0.52359877
atan2
x / y的反正切值
math.atan2(90.0, 45...
lua标准库之table库
table库的概念是由一些操作table的辅助函数组成
作用一:对lua中的表的大小给出一个合理的解释,如getn,#table等
作用二:提供一些插入删除元素以及元素排序的函数,如insert,remove等
Lua5.1中字符串库的所有函数如下表:先定义一张表 t = {1,2,3}
函数
描述
示例
结果
#
取表长
#t
3
getn
取表长
Table.getn(t)
3
setn
设置table中的元素个数
Table.setn(t,4)
4
maxn
返回表中最大key
Table.maxn(t)
3
concat
...
词法约定标识符标识符可以是任意非数字开头的字母、数字、下划线组成的字符串
标识符用来命名变量,或作为表的域名
Lua是一个大小写敏感的语言
1234andAndAND三者不一样
关键字一下列出了lua的保留关键字。保留关键字不能作为常量或者变量或者其他用户自定义标识符123456and break do elseelseif end false forfunction if in localnil not or repea...
lua的模块是由变量,函数等已知元素组成的table,因此创建一个模块很简单,就是创建一个table,然后把需要导出的常量,函数放入其中,最后返回这个table就行。
例:123456789101112131415161718192021-- 文件名为module.lua-- 定义一个名为module的模块module = {}-- 定义一个常量module.constant = "这是一个常量"-- 定义一个函数function module.func1() io.write("这是一个公有函数!")endlocal function func2() ...
Lua基础语法之值与类型Lua是一种动态类型语言。这意味着变量没有类型,只有值才有类型,所有的值都可以被放在变量里,当做参数传递到另一个函数中,并被函数作为结果返回。1234567print(type("hello world")) -- stringprint(type(10.4*3)) -- numberprint(type(print)) -- functionprint(type(type)) -- functionprint(type(true)) ...
lua中有三种变量:全局变量,局部变量,还有table的域
在变量的首次赋值之前,变量的值均为nil
全局变量全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil123print(a) -- nila = 1print(a) -- 1
当你想删除一个全局变量,只需要将变量赋值为nil
当且仅当一个变量不等于nil时,这个变量存在
局部变量局部变量有其作用范围,局部变量可以被定义在它作用范围中的函数自由使用,局部变量可以在语句块总任何地方申明,应该尽可能的使用局部变量,好处有两个
1.避免命名冲突
2....
函数的构建lua编程语言函数定义格式如下:1234optional_function_scope function function_name (argument1,argument2,argument3...,argumentn) function_body return result_parames_comma_separatedend
【解析】
optional_function_scope:该参数是否选的制定函数是全局函数还是局部函数,未设置该参数默认为全局函数,如果你需要设置函数为局部函数需要关键字local
function_name:指定函数名称
argum...