一、变量
1.简单变量类型
nil number string boolen
2.复杂变量类型
函数 function
表table
数据结构 userdata
协同程序 Thread
二、字符串操作
1.获取字符串长度 #
2.字符串多行打印 \n
3.字符串拼接 ..或%d数字
%a任何字符
%s字符
4.字符串的公共方法
小写转大写:string.upper()
大写转小写:string.lower()
反转字符串:sting.reverse()
查找:string.find()
重复打印两次:string.rep()
修改;string.gsub()三个参数,第一个参数,所传字符串,第二个参数,修改的字符,第三个参数, 修改成什么
转ASCII码:string.byte()
ASCII码转字符:string.char()
三、运算符
1.算数运算符:没有++.--也没有复合运算符
2.条件运算符:~=是不等于
3.逻辑运算符:与and 或:or 非:not
4.不支持位运算符
5.不支持三目运算符(c#中的?:)
四、条件分支语句
if a>5 then
else
end
五、循环
1.while循环
num=0
while num<5 do
end
2.do while 循环(lua中是repeat)
num=0
repeat
print(num)
num=num+1
until num>5
(注:满足条件就跳出,c#中,满足条件就进入)
3.for循环
for i=1,5 do
print(i)
end(从1开始打印到5结束)
第三个参数默认自增1
六、函数
1.有参无返回
function F1(a)
print(a)
end
2.无参有返回
function F2(a)
return a,"123",true
end
temp,temp2,temp3=F2("1)
打印出1,"123",true
3.lua不支持重载,默认调用最后一个声明的函数
4.函数嵌套
lua闭包
function F5(x)
return function(y)
return x+y
end
end
(外部参数在内部函数中存在改变了其生命周期)
七、迭代器遍历
1.ipairs只能挨个遍历
for i,k, in ipairs(a) do
print()
end
2.pairs可以遍历去全部
八、表实现类
Student ={age=1.
set=true,Up=function()
print()
end}
直接点出来使用 print(Student.age)相当于里面是age是个静态变量
Student.Up()
1、语法糖
Student:Up(),冒号的意思是默认把调用者传入方法中
==Student.Up(Student)
2.print(self),默认表示第一个参数
九、表的公共操作
1.插入
table.insert(t1,t2)
2.删除指定元素
table.remove() 移除的是最后一个
table.remove(t1,1) 第二个参数是要移除第几个
3.排序
table.sort() 默认升序
4.拼接
table.cancat()