• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua及其应用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  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/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua 笔记12发布时间:2022-07-22
下一篇:
LUA和C之间的函数调用发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap