zoukankan      html  css  js  c++  java
  • Lua脚本语言入门学习其应用教程

    Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。同时,它广泛地应用于网游、自动化交易系统、股软(公式)等中。

    Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。

    在C#中使用Lua也十分简单。

    1. LuaInterface is a library for integration between the Lua language and Microsoft .  
    2. NET platform’s Common Language Runtime (CLR). Lua scripts can use it to instantiate CLR objects,   
    3. access properties, call methods, and even handle events with Lua functions. 

    从LuaInterface网站(http://luaforge.net/projects/luainterface/)上可以下载到这个库。在你的项目中引用LuaInterface.dll后就可以开始了。

    这篇文章用一个简单的控制台程序范例讲述了如何在 C# 中使用 Lua.

    首先,我们添加一个 LuaInterface (开源的类库)的引用,并在类中创建一个 Lua 虚拟机对象示例。

    1、起步

    傻瓜式的,从控制台直接读取 lua 代码,交给虚拟机去执行。

    1. pLuaVM.DoString(strInput); 

    2、暴露一些自定义的函数给 lua 虚拟机,运行时供调用执行。

    用 Lua.RegisterFunction(Name, Target, Method)

    (参数类型分别是:string, 类的实例, MethodInfo)

    3、将注册过程自动化。

    创建一个标签类 AttrLuaFunc,用于给函数添加标签。然后利用  .NET 的发射特性,在程序初始化的最后阶段,枚举当前对象的所有方法,注册所有具有该特性的函数到 Lua 虚拟机中。并在全局的一个 hashtable 中保存其方法名、参数等信息。

    参考:

    Lua 官方网站:

    1. http://www.lua.org/ 

    一个不错的教程:

    1. http://lua-users.org/wiki/TutorialDirectory 

    Lua 5.0 参考手册(中文)

    1. http://www.nirvanastudio.org/wp-content/uploads/2006/04/lua-5_0-reference-manual.html 

    Lua.NET

    1. http://www.lua.inf.puc-rio.br/luanet/ 

    Blogs about Lua:

    1. http://blog.dreambrook.com/soloist/ 
  • 相关阅读:
    解析网页源码方式
    vue踩坑--细节决定成败
    fallowing-travelvue
    学会不怕
    eslint代码规范检测
    三次握手+四次挥手
    小白的学习笔记
    es6数组
    css知识整理
    JavaScript之事件循环,宏任务与微任务
  • 原文地址:https://www.cnblogs.com/achengmu/p/3159015.html
Copyright © 2011-2022 走看看