Lua入门(三) --Lua数据类型与基本用法

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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章