lua视频教程:http://www.jikexueyuan.com/course/73_5.html?ss=1 |极客学院-Cocos2d-x基础知识-Lua脚本语言语法学习入门
1.单行注释--
2.多行注释--[[注释内容]]
3.ifelse
if 条件 then
...
elseif 条件 then
...
else
...
end
4.whiledo
while 条件 do
...
end
5.for
for i=1,10,1 do
...
end
6.语句块
语句块在C中是用"{"和"}"括起来的,在Lua中,它是用do 和 end 括起来的。比如:
do print("Hello") end可以在 函数 中和 语句块 中定局部变量。
7.变量
变量默认定义为全局
要用局部变量,请用local;
8.数值运算
+-*/
连接两个字符串,可以用".."运处符。如 "This a " .. "string." -- 等于 "this a string"
9.比较运算
~=表示不等于
10.逻辑运算
and, or, not
其中,and 和 or 与C语言区别特别大。
在这里,请先记住,在Lua中,只有 false 和 nil 才计算为 false,其它任何数据都计算为 true,0 也是 true!
and 和 or 的运算结果不是 true和false,而是和它的两个操作数相关。
a and b: 如果a为false,则返回a;否则返回b
a or b: 如果 a 为true,则返回a;否则返回b
举几个例子:
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(4 or 5) --> 4
print(false or 5) --> 5
11.变量类型
怎么确定一个变量是什么类型的呢?大家可以用type()函数来检查。Lua支持的类型有以下几种:
Nil 空值
所有没有使用过的变量,都是nil。nil既是值,又是类型。
Boolean 布尔值
true 或 false
Number 数值
在Lua里,数值相当于C语言的double
String 字符串
如果你愿意的话,字符串是可以包含'\0'字符的
Table 关系表类型
这个类型功能比较强大,我们在后面慢慢说。
Function 函数类型
不要怀疑,函数也是一种类型,也就是说,所有的函数,它本身就是一个变量。
Userdata
嗯,这个类型专门用来和Lua的宿主打交道的。宿主通常是用C和C++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。
Thread 线程类型
在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。
12.变量的定义
所有的语言,都要用到变量。在Lua中,不管你在什么地方使用变量,都不需要声明,并且所有的这些变量总是全局变量,除非,你在前面加上"local"。
这一点要特别注意,因为你可能想在函数里使用局部变量,却忘了用local来说明。
至于变量名字,它是大小写相关的。也就是说,A和a是两个不同的变量。
定义一个变量的方法就是赋值。"="操作就是用来赋值的
13.字符串定义取消转移
[[里面的字符串没有转义相当于C#的@]]
14.数组Table
详见https://www.zybuluo.com/lisaisacat/note/636399#table
15.函数
详见:https://www.zybuluo.com/lisaisacat/note/636399#function