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

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