lua|Lua01 基本语法+数据类型+流程控制+运算符

一、基本语法 1、输出

print("Hello World!")

2、注释
--

3、全局变量
在默认情况下,变量总是认为是全局的。需要声明,给一个变量赋值后即创建。删除一个全局变量,只需要将变量赋值为nil。
b = nil print(b)--> nil

4、局部变量
Lua 中的变量全是全局变量,哪怕是语句块或是函数里,除非用 local 显式声明为局部变量。
a = 5-- 全局变量 local b = 5-- 局部变量

二、数据类型
数据类型 描述
nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
boolean 包含两个值:false和true。
number 表示双精度类型的实浮点数
string 字符串由一对双引号或单引号来表示
function 由 C 或 Lua 编写的函数
userdata 表示任意存储在变量中的C数据结构
thread 表示执行的独立线路,用于执行协同程序
table Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。
三、流程控制-循环 1、while循环
a=10 while( a < 20 ) do print("a 的值为:", a) a = a+1 end

2、数字for循环
for var=exp1,exp2,exp3 do <执行体> end

exp1 -初始值
exp2 -结束值
exp3 -递变值,默认为1。
for i=1,10 do print(i) end ------------------- for i=10,1,-1 do print(i) end

3、泛型for循环
a = {"one", "two", "three"} for i, v in ipairs(a) do print(i, v) end

i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组。
四、流程控制-分支 1、if
if(布尔表达式) then --[ 在布尔表达式为 true 时执行的语句 --] end

2、if-else
if(布尔表达式) then --[ 布尔表达式为 true 时执行该语句块 --] else --[ 布尔表达式为 false 时执行该语句块 --] end

3、if-elseif-else
if( 布尔表达式 1) then --[ 在布尔表达式 1 为 true 时执行该语句块 --]elseif( 布尔表达式 2) then --[ 在布尔表达式 2 为 true 时执行该语句块 --]elseif( 布尔表达式 3) then --[ 在布尔表达式 3 为 true 时执行该语句块 --] else --[ 如果以上布尔表达式都不为 true 则执行该语句块 --] end

五、运算符 1、算数运算符
操作符 描述 实例
+ 加法 A + B 输出结果 30
- 减法 A - B 输出结果 -10
* 乘法 A * B 输出结果 200
/ 除法 B / A 输出结果 2
% 取余 B % A 输出结果 0
^ 乘幂 A^2 输出结果 100
- 负号 -A 输出结果 -10
// 整除运算符(>=lua5.3) 5//2 输出结果 2
2、关系运算符
操作符 描述 实例
== 等于,检测两个值是否相等,相等返回 true,否则返回 false (A == B) 为 false。
~= 不等于,检测两个值是否相等,不相等返回 true,否则返回 false (A ~= B) 为 true。
> 大于,如果左边的值大于右边的值,返回 true,否则返回 false (A > B) 为 false。
< 小于,如果左边的值大于右边的值,返回 false,否则返回 true (A < B) 为 true。
>= 大于等于,如果左边的值大于等于右边的值,返回 true,否则返回 false (A >= B) 返回 false。
<= 小于等于, 如果左边的值小于等于右边的值,返回 true,否则返回 false (A <= B) 返回 true。
3、逻辑运算符
操作符 描述 实例
and 逻辑与操作符。 若 A 为 false,则返回 A,否则返回 B。 (A and B) 为 false。
or 逻辑或操作符。 若 A 为 true,则返回 A,否则返回 B。 (A or B) 为 true。
not 逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false。 not(A and B) 为 true。
4、其它运算符
操作符 描述 实例
.. 连接两个字符串 a..b ,其中 a 为 "Hello " , b 为 "World", 输出结果为 "Hello World"。
# 一元运算符,返回字符串或表的长度。 #"Hello" 返回 5
【lua|Lua01 基本语法+数据类型+流程控制+运算符】

    推荐阅读