Lua脚本语言入门学习其应用教程
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。同时,它广泛地应用于网游、自动化交易系统、股软(公式)等中。
Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。
在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后就可以开始了。
这篇文章用一个简单的控制台程序范例讲述了如何在 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/
Lua脚本语言入门学习其应用教程的更多相关文章
- (五)Lua脚本语言入门
---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...
- (一)Lua脚本语言入门
今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入 ...
- (三)Lua脚本语言入门
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的"艰苦忍耐"式的奋斗,那这是一种很不足的心理状态 ...
- (三)Lua脚本语言入门(数组)
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态.毅力是一种习惯,毅 ...
- (二)Lua脚本语言入门
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- (二)Lua脚本语言入门(关于函数)
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- (四)Lua脚本语言入门
这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关..... 对于"泛型",先看C#中"泛型" ...
- (四)Lua脚本语言入门(数组遍历)
这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关..... 对于"泛型",先看C#中"泛型" ...
- 深入LUA脚本语言,让你彻底明白调试原理
这是道哥的第008篇原创 一.前言 上篇文章我们聊了gdb的底层调试机制,明白了gdb是利用操作系统提供的系统信号来调试目标程序的.很多朋友私下留言了,看到能帮助到大家,我心里还是很开心的,其实这也是 ...
随机推荐
- APB总线
APB(Advance Peripheral Bus)是AMBA总线的一部分,从1998年第一版至今共有3个版本. AMBA 2 APB Specfication:定义最基本的信号interface, ...
- xhtml 的三种 doctype
{1}文档宣告 <!ODCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 [there]//EN" "http://www.w4org/TR/xhtml1/DTD/ ...
- python 文件操作 练习:取得文件的最后存取时间
#coding=utf-8 import osimport time file_atime=int(os.path.getatime('d:\\a.txt'))print "file_ati ...
- python 文件操作 练习:把一个目录下的所有文件名,打印一下,不要包含后缀名
#coding=utf-8 import osos.chdir('d:\\test2')file_list=os.listdir('.')print "file_list:",fi ...
- linux服务器---安装swat
安装swat swat是一个图形化的samba管理软件,可以帮助不熟悉的人去灵活的配置samba服务, 1.安装swat [root@localhost wj]#yum install -y samb ...
- WiFi攻击的三种方式
WiFi的安全问题已经引起了不少的使用者重视,甚至已经出现草木皆兵的现象.那么黑客到底是如何做到绕过身份验证来获取WiFi使用权的呢?主要有以下三种方式,其中最后一种方式十分简单. WiFi的安全问题 ...
- pyDay3
内容来自廖雪峰的官方网站 1.关键字参数 def person(**kw): print(kw) >>> person(name=') {'} 关键字参数有什么用?它可以扩展函数的功 ...
- bzoj1647 / P1985 [USACO07OPEN]翻转棋
P1985 [USACO07OPEN]翻转棋 其实我们只要枚举第一行的状态,后面的所有状态都是可以唯一确定的. 用二进制枚举灰常方便 #include<iostream> #include ...
- Android 基础知识点(一)
- 20145319 《网络渗透》web安全基础实践
20145319 <网络渗透>web安全基础实践 问题回答 Sql注入攻击原理,如何防御 攻击原理:由于对于用户输入并没做出相应限制,因此可以通过构造特定的sql语句,达到自身的一些非法目 ...