Lua及其应用
Lua 是一個小巧的腳本語言。作者是巴西人。該語言的設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能。它的主頁是 www.lua.org。
Lua腳本可以很容易的被C/C++代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和維護。同時,它廣泛地應用于網游、自動化交易系統、股軟(公式)等中。
在C#中使用Lua也十分簡單。
LuaInterface is a library for integration between the Lua language and Microsoft .NET platform’s Common Language Runtime (CLR). Lua scripts can use it to instantiate CLR objects, access properties, call methods, and even handle events with Lua functions.
從LuaInterface網站(http://luaforge.net/projects/luainterface/)上可以下載到這個庫。在你的項目中引用LuaInterface.dll后就可以開始了。
?
原文地址:
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/
?
總結
- 上一篇: MySQL索引分析和优化(转)
- 下一篇: 什么是 XML Web Service