一,Lua介绍
-
快速入门
-
新建
hello.lua文件touch hello.lua -
添加内容
print("Hello World!") -
运行
lua hello.lua
-
二,变量和循环
2.1 数据类型
| 数据类型 | 描述 |
|---|---|
| nill | 只有值nil属于该类,表示一个无效值,在条件判断中相当于false |
| boolean | 包含两个值:false和true |
| number | 表示双精度类型实浮点数 |
| string | 字符串由一对双引号或单引号表示 |
| function | 由C或Lua编写的函数 |
| table | Lua中的表,是一个关联数组,数组的索引可以是数字,字符串或table类型。在Lua中,table的创建是通过构造表达式来完成的,最简单的构造表达式是{},他表示一个空表。 |
可以利用type函数来判断变量的类型
print(type("hello world"))
2.2 变量
Lua声明变量的时候,不需要指定数据类型
-- 声明字符串
local str='hello'
-- 声明数字
local num=21
-- 声明布尔类型
local flag=true
-- 声明数组,key为索引的table
local arr={'java','python','lua'}
-- 声明table,类似Map
local map={name='Jack',age=21}
访问table
-- 访问数组,lua数组下标从1开始
print(arr[1])
-- 访问table
print(map['name'])
print(map.name)
字符串拼接用..来拼接
local str='hello' .. 'world'
2.3 循环
数组,table都可以用for循环来遍历
-
遍历数组
-- 声明数组,key为索引的table local arr={'java','python','lua'} -- 遍历数组 for index,value in ipairs(arr) do print(index,value) end -
遍历table
-- 声明map local map={name='Jack',age=21} -- 遍历table for key,value in pairs(map) do print(key,value) end
三,条件控制,函数
3.1 函数
定义函数的语法
function 函数名(argument1 ,argument2...,argument)
--函数体
return 返回值
end
举例:定义一个函数,用来打印数组
function printArr(arr)
for index,value in ipairs(arr) do
print(value)
end
end
3.2 条件控制
类似Java的条件控制,例如if,else语法
if(布尔表达式)
then
--[布尔表达式为true时执行该语句块 --]
else
--[布尔表达式为false时执行该语句块 --]
end
与java不同,布尔表达式中逻辑运算是基于英文单词:
| 操作符 | 描述 | 实例 |
|---|---|---|
| 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 |