Lua學習記錄 20201027

that'sEnough發表於2020-10-27

第一次寫部落格 測試一下


前言

內容參考b站視訊:BV1iA411n7oQ?p=2


一、開發環境搭建

二、變數

1.簡單的4種變數型別

簡單變數型別包括:nil number string boolean

程式碼如下(示例):

--lua中的一個變數 可以隨便賦值 --自動識別型別 型別C# 中var
--nil 類似C#中 null
a=nil
--number 所有的數值都是number
a=1
--string 要用雙引號或單引號包裹
a="1233"
--boolean
a=true

--可以通過type 返回變數的型別
print(type(a))
--type 返回值是string
type(type(a))

--lua中使用沒有宣告過的變數  不會報錯
--預設值為nil


2.複雜的4種變數型別

複雜變數型別包括:function 函式 table 表 userdata 資料結構 thread 協同程式

三、字串操作

--字串要用雙引號或單引號包裹
s="12321"
s='121'
--一個漢字佔3個長度 一個英文字元 佔1個長度

--字串的多行列印
print("23\n123")

s=[[ab
c
de
]]
print(s)

--字串的拼接 通過 ..
print("123".."456")
print(string.format("age:%d",18)
--%d:與數字拼接
--%a:與任何字元拼接
--%s:與字元配對

--別的型別轉字串
a=true
print(tostring(a))
--小寫轉大寫 upper  大寫轉小寫  lower
print(string.upper(str))
--翻轉 string.reverse(str)
--索引查詢 string.find(str,"Cde")
--擷取 string.sub(str,3,4)
--重複 string.rep(str,2)
--修改 string.gsub(str,"Cd","**")

四、運算子

1.算術運算子

--lua中沒有自增自減 ++ --
--沒有複合運算子 += -= /= *= %=
--字串可進行 算術運算子操作 自動轉number
print("123.4"-1)
--輸出122.4
--冪運算
print(2^5)

2.條件運算子

--> < >= <= == ~=
-- 不等於號為 ~=

3.邏輯運算子

-- and or not  
--支援 “短路”
print(true and false)
print(true or false)
print(not true)

4.位運算子

lua中不支援

5.三目運算子

lua中不支援