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...