Lua入门教程
- 初识Lua
- 变量和循环
- 条件控制、函数
一、初始Lua
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/
1.在Linux虚拟机的任意目录下,新建一个hello.lua文件
2.添加下面的内容
print('hello world!')
3.运行
二、变量和循环
1.数据类型
可以利用type函数测试给定变量或者值的类型:
2.变量
Lua声明变量的时候,并不需要指定数据类型:
-- 声明字符串
local str = 'hello'
-- 声明数字
local num = 21
-- 声明布尔类型
local flag = true
-- 声明数组 key为索引的 table
local arr = {'java', 'python', 'lua'}
-- 声明table,类似java的map
local map = {name='Jack', age=21}
访问table:
-- 访问数组,lua数组的角标从1开始
print(arr[1])
-- 访问table
print(map['name'])
print(map.name)
3.数组、table都可以利用for循环来遍历:
- 遍历数组:
-- 声明数组 key为索引的 table
local arr = {'java', 'python', 'lua'}
-- 遍历数组
for index,value in ipairs(arr) do
print(index, value)
end
- 遍历table:
-- 声明map,也就是table
local map = {name='Jack', age=21}
-- 遍历table
for key,value in pairs(map) do
print(key, value)
end
三、条件控制、函数
1.定义函数的语法
function 函数名( argument1, argument2..., argumentn)
-- 函数体
return 返回值
end
例如,定义一个函数,用来打印数组:
function printArr(arr)
for index, value in ipairs(arr) do
print(value)
end
end
2.条件控制
类似Java的条件控制,例如if、else语法:
if(布尔表达式)
then
--[ 布尔表达式为 true 时执行该语句块 --]
else
--[ 布尔表达式为 false 时执行该语句块 --]
end
与java不同,布尔表达式中的逻辑运算是基于英文单词:
3.案例
自定义函数,打印table
需求:自定义一个函数,可以打印table,当参数为nil时,打印错误信息
local function printArr(arr)
if(not arr) then
print('数组不能为空!')
return nil
end
for i, val in ipairs(arr) do
print(val)
end
end