Lua及其应用

本文介绍了Lua脚本语言的特点及应用,特别是Lua与C#的集成方式。通过LuaInterface库,可以在C#中轻松使用Lua脚本,实现扩展性和定制化需求。文章还提供了在C#中使用Lua的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/

转载于:https://www.cnblogs.com/wangyueren/archive/2012/10/27/2742368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值