1.lua注释
- 单行注释 - -
- 多行注释 - -[[ content - - ]]
[root@instance-9wauwxj6 demo] vi hello.lua
print("hello")
--print("单行注释")
--[[print("多行注释1")
print("多行注释2")
--]]
~
~
~
~
~
~
~
~
~
"hello.lua" 5L, 94C
2.全局变量与局部变量
全局变量直接声明赋值,局部变量需要加上关键字local
- 全局变量在一个文件的所有地方都可以,都有效
age = 1 - 局部变量只在方法局部内有效
local age = 10
3.八种数据类型
- number 实数 ,可以是整数,浮点数
- string 字符串,一旦赋值不能被修改,可以通过方法string.gsub()来修改
- nil 全局变量没被赋值默认为nil,删除变量就赋值为 nil
- boolean(bool) false 和nil为假 ,其它都为真
- function 函数
- table 数组、容器
- userdata (类,其它语言转换过来就变成userdata类型)
- thread 线程
4.基本用法
(1)if语句
Lua if语句由一个布尔表达式作为条件判断
语法
if(tonumber("235") == 123)
then
print("相等")
else
print("不相等")
(2)函数function
>function max(num1,num2)
>>if num1>num2
>>then
>>result = num1
>>else
>>result = num2
>>end
>>end
>print("值较大的是:"..max(11,19))
-- ..是拼接的意思 ,也可作为拼接(但是有很大的空格,不建议)
(3)表
table是Lua的一种数据结构帮助我们创建不同的数据类型,如数组、字典。Lua也是通过table来解决模块(module),包(package)和对象(object)的
--初始化表
table1 = {}
--指定值
table1[1] = "lua"
--移除引用
table1 = nil
(4)模块
1.新建文件model.lua文件,作为模块
--定义一个为model的模块
model = {}
--定义一个常量
model.constant = "这是一个常量"
--定义一个函数
function model.func1()
print("这是一个全局方法")
end
--定义第二个函数
local function func2()
print("这是一个私有方法")
end
--定义第三个方法
function model.func3()
func2()
end
function func4()
print("方法4")
end
return model
2.新建文件user_model.lua文件,引入model.lua文件的model模块
--这里的model不是model.lua文件里定义的表model,而是model.lua文件
require("model")
--输出model中的常量
print(model.constant)
model.func1()
func4()