在 C# 中使用 Lua(摘要)
阿新 • • 發佈:2019-01-24
原文地址:
http://www.gamedev.net/reference/articles/article2275.asp
這篇文章用一個簡單的控制檯程式範例講述瞭如何在 C# 中使用 Lua.
首先,我們新增一個 LuaInterface (開源的類庫)的引用,並在類中建立一個 Lua 虛擬機器物件示例。
1. 起步
傻瓜式的,從控制檯直接讀取 lua 程式碼,交給虛擬機器去執行。
pLuaVM.DoString(strInput);
2. 暴露一些自定義的函式給 lua 虛擬機器,執行時供呼叫執行。
用 Lua.RegisterFunction(Name, Target, Method)
(引數型別分別是:string, 類的例項, MethodInfo)
3. 將註冊過程自動化。
建立一個標籤類 AttrLuaFunc,用於給函式新增標籤。然後利用 .NET 的發射特性,在程式初始化的最後階段,列舉當前物件的所有方法,註冊所有具有該特性的函式到 Lua 虛擬機器中。並在全域性的一個 hashtable 中儲存其方法名、引數等資訊。
一些參考:
----------------------------------------------
Lua 官方網站:
http://www.lua.org/
一個不錯的教程:
http://lua-users.org/wiki/TutorialDirectory
Lua 5.0 參考手冊(中文)
http://www.nirvanastudio.org/wp-content/uploads/2006/04/lua-5_0-reference-manual.html
Lua.NET
http://www.lua.inf.puc-rio.br/luanet/
Blogs about Lua:
http://blog.dreambrook.com/soloist/