1. 程式人生 > >在 C# 中使用 Lua(摘要)

在 C# 中使用 Lua(摘要)

原文地址:
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/