在 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值