1.lua是一个大小写敏感的语言
2.字符串可以用’'引起也可以用""
3.单行注释:-- 多行注释:–[[…]]
4.lua中的八种数据类型:nil,boolean,number,string,userdata,thread,table,function
nil:表达一个无效值(比如定义但未赋值的变量),在条件表达式中相当于false
boolean:nil跟false判断为假,其余为真,0和' '也为真
number:双精度类型的浮点数
userdata:任意储存在变量中的c数据结构
string: d=string.gsub(a,b,c):将字符串a中的b子字符串替换为c然后赋值给d
5.自动转换:
使用+时,string会转变为数字:
print(“100”+“100”)—> 输出200
print(“100”+100)—> 输出200
使用…将数字变为字符串并连接字符串:
print(‘hello ‘… 1 …’ world’)
注意:必须在数字后面添加空格防止被解释错
6.全局变量与局部变量;
全局变量不需要特别声明,局部变量使用 local声明
使用局部变量的好处:避免命名冲突,访问局部变量比访问全局变量更快。
7.逻辑运算符:
and:逻辑与操作符:a and b:若a为false则返回a,否则返回b。
or:逻辑或操作符:a or b:若a为true则返回a,否则返回b。
not:与逻辑预算结果相反。
8.table的构建遍历
local table={2,‘a’,‘bipeng’}
遍历:
for k,v in pairs(table) do
print(k,v)
end
9.table取长度操作符:#
10.赋值语句:
多重赋值时:
当变量个数>值的个数 按变量个数补nil
当变量个数<值的个数 按变量的个数忽略值
lua会先计算=右边的值再赋值
交换值:x,y=y,x
10.控制结构语句:
if…else语句:
if conditions then
......
else if conditions then
....
else
...
end
while…do语句:
while conditions do
.....
end
repeat…until:
repeat
…
until conditions
for语句:
控制的是局部变量
循环过程中不能修改控制变量的值
数值for循环:
for var=exp1,exp2,exp3 do
…
end
exp3可以忽略,默认为1
三个表达式只能在循环开始前触发一次;可以是函数返回值
泛型for循环:
for k,v in pairs(t) do
…
end