LUA與Delphi的基礎應用

2021-05-25 11:40:19 字數 1567 閱讀 1527

lua基本的用法.

1。 開啟lua:

view plaincopy to clipboardprint?

var l: plua_state;  

//開啟lua  

l := lua_open;  

//這時也可以繼續裝載lua標準庫  

lua_baselibopen(l);  

lua_iolibopen(l);  

lua_strlibopen(l);  

lua_mathlibopen(l); 

var l: plua_state;

//開啟lua

l := lua_open;

//這時也可以繼續裝載lua標準庫

lua_baselibopen(l);

lua_iolibopen(l);

lua_strlibopen(l);

lua_mathlibopen(l);

2。執行後,必須關掉:

lua_close(l);

3。 在lua內增加方法, 用於向宿主程式傳遞函式引數,如lua指令碼內增加 print("mrlong") 的print方法,必須這樣定義:

lua指令碼中可以使用print("hello", "world", "usd")函式,向宿主程式傳遞資料進行處理。

4。在lua內增加方法,用於將宿主程式的變數傳遞給lua時,如getuserid(),可以這樣定義:

lua指令碼中可以使用getuserid()函式,獲取乙個值10000000。

5。這時在開啟lua後,註冊方法:

lua_register(l, 'print', luaprint);

lua_register(l, 'getuserid', luagetuserid);

6。載入指令碼:

view plaincopy to clipboardprint?

//載入指令碼  

lual_loadfile(l, 'testscript.lua');     //載入指令碼檔案到記憶體中  

if (lua_resume(l, 0) <> 0) then begin   //執行載入到記憶體中的指令碼  

showmessage('err');  

end; 

//載入指令碼

lual_loadfile(l, 'testscript.lua');     //載入指令碼檔案到記憶體中

if (lua_resume(l, 0) <> 0) then begin   //執行載入到記憶體中的指令碼

showmessage('err');

end;

7。取出註冊方法的引數: 如右lua指令碼了print("mrlong"); 這時我要取出mrlong 時,則採用。

s := lua_tostring(l, 1);           //注意這地方是從1開始,不是0與delphi與c/c++都不一樣。/

if (lua_gettop(l) <> 2) then    //其中lua_gettop(l) 是取出引數的個資料

lual_error(l, '引數個數出錯');

資源:

LUA與Delphi的基礎應用

lua基本的用法.1。開啟lua 2。執行後,必須關掉 lua close l 3。在lua內增加方法,用於向宿主程式傳遞函式引數,如lua指令碼內增加 print mrlong 的print方法,必須這樣定義 lua指令碼中可以使用print hello world usd 函式,向宿主程式傳遞資...

Lua基礎 變數與賦值

看以下案例 test.lua 第乙個lua指令碼 注釋使用 符 變數未定義時,預設初始化的值為nil 這樣的定義為全域性 num1 1 加了關鍵字local表示這個變數是區域性變數 local num2 2 定義變數的末尾不加分號 也是可以的,個人建議,因為lua是c寫的,寫分號還是規範點 num3...

Lua基礎 變數與賦值

看以下案例 test.lua 第乙個lua指令碼 注釋使用 符 變數未定義時,預設初始化的值為nil 這樣的定義為全域性 num1 1 加了關鍵字local表示這個變數是區域性變數 local num2 2 定義變數的末尾不加分號 也是可以的,個人建議,因為lua是c寫的,寫分號還是規範點 num3...