Lua的初探學習

2021-07-29 12:52:12 字數 2959 閱讀 9301

lua語言開發  lua.org

**luainte***ce**

通過luainte***ce完成lua和c#之間的互相呼叫

lua解析工具

1.ulua      ulua.org

2.nlua     nlua.org

3.unilua

4.slua

lua安裝

a.luaforwindows

b.luaer.cn  lua開發者

c.luaforge.net

lua的編寫

1.安裝luaforwindows

2.使用scite.exe 編寫**

lua語言(不需要以;結尾)

1.字串用"" 或 『』 均可表示  如: print("hello world",『hello world』)

2.變數不要定義型別,直接賦值   如:age=100   name="jane"   isman=false

3.單行注釋:  --        多行注釋:  --[[  注釋內容  ]]-- 

4.nil表示空,等同c#中的null

5.lua沒有整數型別,只有小數型別

6.lua的五種變數型別:

①空資料

②boolean布林型別

③string字串型別

④number小數型別

⑤table表型別

7.可以用type()直接獲得乙個變數的型別

8.table:  mytable=

mytable[1]=34

lua的索引都從1開始

9.lua中所有預設定義的變數都是全域性變數

區域性變數的定義需在變數前加local  local name="law"

10.運算子

①算數運算子  + - * / % (lua中沒有++ -- 這樣的運算子)

②關係運算子 <= < > >= ==

③邏輯運算子 and or not 分別表示 與 或 非(類似於c#的 && || !)

and  = &&  or = ||  not = !

11.if邏輯

1.if 條件 then

執行邏輯

end2.if 條件 then

執行邏輯

else

執行邏輯

end3.if 條件 then

執行邏輯

elseif 條件 then

執行邏輯

else

執行邏輯

end如:

hp = 60

if hp<50 then

print("血量少於50")

elseif hp<0 then

print("血量少於0")

else

print("血量大於50")

end12.while迴圈

while 條件 do

執行邏輯

end13.repeat迴圈

repeat

執行邏輯

until 條件

(當條件滿足時跳出迴圈)

14.for迴圈

for index = [start],[end] do

執行邏輯

end(break結束迴圈,但沒有c#中continue語法)

如:for index=1,100 do

print(index)

15.函式定義

function 方法名(引數一,引數二)

執行邏輯

end如:function plus(num1,num2)

return num1+num2

end16.lua內建的常用函式(自行查詢lua開發文件)

①數學處理的math相關函式

②字串處理的string相關函式

③表處理的table相關函式

④檔案操作的io相關函式

如:print(math.abs(-100))

print(math.max(1,2,3,5,54,5))

17.string字串

.. 表示字串的相加

tostring() 把乙個數字轉化為字串

tonumber() 把乙個字串轉化為數字

如:one = "abc"

two = "def"

english = one..two

print(english)

18.table表:鍵值對

表的長度=table.getn(表名)

賦值方法:

①純數字鍵

mytable =

②非純數字鍵

--定義乙個空表

mytable ={}

mytable.name = "表的第乙個值"

mytable["age"] = "表的第二個值"

mytable.num = 3

遍歷方法:

①純數字鍵遍歷

for index=1,table.getn(表名) do

執行邏輯

end②所有表遍歷

for index,value in pairs(表名)do

執行邏輯

print(index,value)

end*****通過表來實現物件導向*************

enemy={} --宣告怪物物件

local this = enemy --宣告this為怪物物件

--宣告物件屬性

this.name="bigboss"

this.hp =100

--宣告物件中的方法

①this.sayhello = function()

print("hello,my name is"..this.name)

end②function enemy.attack()

this.sayhello

print("我在打你!")

end19.通過luainte***ce完成lua和c#之間的互相呼叫

Lua與C 互動初探之C 呼叫Lua

lua與c 互動初探之c 呼叫lua 一 lua環境的搭建 他包括以下元件 lua examples 包含lua使用的一些例子。luaforwindows documentation luaforwindows這款軟體的一些說明 quickluatour lua快速入門嚮導,沒什麼用,看看就好 do...

Lua與C 互動初探之C 呼叫Lua

一 lua環境的搭建 他包括以下元件 lua examples 包含lua使用的一些例子。luaforwindows documentation luaforwindows這款軟體的一些說明 quickluatour lua快速入門嚮導,沒什麼用,看看就好 scite lua的乙個不錯的文字編輯器。...

Lua與C 互動初探之C 呼叫Lua

一 lua環境的搭建 他包括以下元件 lua examples 包含lua使用的一些例子。luaforwindows documentation luaforwindows這款軟體的一些說明 quickluatour lua快速入門嚮導,沒什麼用,看看就好 documentation 裡面包含lua...