【初识Lua】
一、Hello Lua
编程模式
1.交互式编程
Lua提供了交互式编程模式,可以在命令行输入程序并立即看到效果
Lua交互式编程模式可以通过命令lua -i或lua来启用
2.脚本式编程
我们可以将Lua程序代码保存到一个以lua结尾的文件,并执行,该模式称为脚本式编程。
简单demo
1.创建hello.lua文件
vi hello.lua
print("hello");
2.执行命令
lua hello.lua
二、Lua变量
-
注释
一行注释:-- xxx
多行注释:–[[ xxx --]] -
定义变量
全局变量:a = 1
局部变量:local b = 2 -
数据类型
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata(任意存储在变量中的C数据结构)、function、thread(表示执行的独立线路)和table(关联数组)。
【使用type()方法返回对象的类型】
-
函数
--[[函数返回两个值的最大值--]]
function max(num1,num2)
if(num1>num2)then
result=num1;
else
result=num2;
end
return result;
end
--调用函数
print("两值比较最大值为",max(10,4))
print("两值比较最大值为",max(5,6))
- 表
- 初始化表
mytable = {} - 指定值
mytable[0] = "Lua" - 移除引用
mytable = nil
- 初始化表
- 模块
- (1)模块定义
模块类似与一个封装库,将公用代码放在一个文件里,以API形式供其他地方调用
module.lua:--文件名为 module.lua --定义一个名为 module 的模块 module={} --定义一个常量 module.constant="这是一个常量" --定义一个函数 function module.func1() print("这是一个公有函数") end local function func2() print("这是一个私有函数!") end function module.func3() func2() end return module
- (2)require函数
require用于引用其他的模块,类似java中的类要引用别的类的效果
test_module.lua:--test_module.lua文件 --module模块为上文提到到module.lua require("module") print(module.constant) module.func3()
- (1)模块定义
三、Lua语法
- if语句
if(布尔表达式)
then
--[在布尔表达式为true时执行的语句--]
end
- if…else语句
if(布尔表达式)
then
--[布尔表达式为true时执行该语句块--]
else
--[布尔表达式为false时执行该语句块--]
end
- while循环语句
while(condition)
do
statements
end
- for循环语句
for var=exp1,exp2,exp3(从exp1到exp2,每次递增exp3)
do
<执行体>
end
- repeat…until语句
repeat
statements
until(condition)