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 |