Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的
用LuaBind很久了。感觉LuaBind总体上来说是可用的,但是问题有不少: 1. 有一个GC问题。问题出在引用技术和GC之间的配合上。 2. 编译速度慢。模板+Boost 导致编译速度那个慢啊。 3. 运行速度慢。大量使用Lua的注册表机制,性能堪忧。 4. 出错不好差。模板用的太复杂。 总的来说,小心使用,LuaBind 还是可以用的。
Lua的静态编译(for 5.1) --by Coollen.MMX 在下找遍了好多网站也没找到Lua的静态编译方法,而Lua自带的说明上也没有太详细的说明,作为一个新时代的程序员,背负着开创未来的历史责任……,写一点关于Lua编译手册。(可怜的Lua,和Python没法比啊,可惜在下又偏偏比较喜欢)。 准备: 1 VS 2005 2 lua 5.1 (http://www.lua.org/) 静
Lua提供了源代码以便于用户自己编译。用户可以将之编译成静态库,也可以编译成为动态库。但Lua没有提供工程文件,需要用户自己添加,对新手而言,带来诸多不便。 一、Lua静态库 编译为静态库很简单,有人已经写过,现摘录如下: Lua 包含core lib和standard lib,详细情况可以查阅文档,为了简单起见,我们将其放到一个lib中,我们需要建立一个静态库的工程,然后将其源文件加入到工程中,
Lua提供了源代码以便于用户自己编译。用户可以将之编译成静态库,也可以编译成为动态库。但Lua没有提供工程文件,需要用户自己添加,对新手而言,带来诸多不便。 一、Lua静态库 编译为静态库很简单,有人已经写过,现摘录如下: Lua 包含core lib和standard lib,详细情况可以查阅文档,为了简单起见,我们将其放到一个lib中,我们需要建立一个静态库的工程,然后将其源文件加入到工程中,
Lua提供了源代码以便于用户自己编译。用户可以将之编译成静态库,也可以编译成为动态库。但Lua没有提供工程文件,需要用户自己添加,对新手而言,带来诸多不便。 一、Lua静态库 编译为静态库很简单,有人已经写过,现摘录如下: Lua 包含core lib和standard lib,详细情况可以查阅文档,为了简单起见,我们将其放到一个lib中,我们需要建立一个静态库的工程,然后将其源文件加入到工程中,
Lua提供了源代码以便于用户自己编译。用户可以将之编译成静态库,也可以编译成为动态库。但Lua没有提供工程文件,需要用户自己添加,对新手而言,带来诸多不便。 一、Lua静态库 编译为静态库很简单,有人已经写过,现摘录如下: Lua 包含core lib和standard lib,详细情况可以查阅文档,为了简单起见,我们将其放到一个lib中,我们需要建立一个静态库的工程,然后将其源文件加入到工程中,
辛苦写了1小时,居然没了。。。。这是第2次写的东西。 1、编译LUA 第1步: 从官方主页www.lua.org下载Lua源代码,最新版本为5.1.2。 解压之后找到“src”文件夹,这里面就是Lua了,不过还不能直接使用。 第2步: 使用任意ANSI C编译器,在这里使用VS2005编译LUA。具体步骤如下: 1、新建一个空的Console工程,在这里该工程名暂为“lua” 2、将src中的文件
lua是啥东西就不说了。   1、下载lua,目前版本5.1 wget http://www.lua.org/ftp/lua-5.1.tar.gz   2、解压 tar -xzf lua-5.1.tar.gz   3、编译 make 不行,提示信息如下: Please do    make PLATFORM where PLATFORM is one of these:    aix ansi b
LUA生来是与游戏相关的;自从魔兽将它发扬光大之后,越来越多的游戏公司使用它。 游戏逻辑中与其密切相关的是访问NPC部分,弹出一个交易框、打造框、任务对话框等等,这些基本都是由LUA实现; 本文我想就自己最近的一点儿体会,写下关于游戏任务的lua实现;   去年12月份,新游戏项目成立,分配给我的第一个任务就是编游戏任务;当时我还不知lua为何物,先花了一天的时间基本熟悉了lua语法(主要是关于t
Lua脚本语言入门(目前魔兽使用的可以写在宏内的语言)(中文) 作者: 沐枫 Lua 程序设计初步 作者: 沐枫 (第二人生成员) 版权所有转载请注明原出处   在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   
环境:lua for windows (lfW) 主页:http://luaforwindows.luaforge.net/ lua for windows其实是一整套Lua的开发环境,它包括: Lua Interpreter(Lua解释器) Lua Reference Manual(Lua参考手册) Quick Lua Tour (Lua快速入门) Examples (Lua范例) Librar
这些函数都是Lua编程语言的一部分, 点击这里了解更多. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息 collectgarbage() - 垃圾收集器. (新增于1.10.1) date(format, time) - 返回当前用户机器上的时间. error("error message",level) -
由于lua是用标准C写的,所以嵌入VC++里时,必须要用 extern "C" {  #include "lua.h"   #include "lualib.h"   #include "lauxlib.h" } 来声名. 下面是我用VC++按lua文档里写的一个读取lua文件里的公共变量的程序 int GetWidthHeight(int &nWidth, int &nHeight ) {  i
翻译自http://gamedevgeek.com/tutorials/calling-c-functions-from-lua/ 在Lua中调用C++函数 我的第二部分教程讲解了怎样在C++中调用Lua函数。在这部分中,我们将讨论相反的情况——在Lua中调用C++函数。由于我没有想到一个简单的例子来说明这种情况,因此,我借用了Lua官方文档中的average函数来进行讲解。 本教程涵盖了Lua5
翻译自http://gamedevgeek.com/tutorials/calling-lua-functions/ 调用Lua函数 这是Lua脚本语言教程系列之二。在第一篇中,我们学习了在Windows和Linux下编译并运行"Hello, World!"程序。如果你没有看过,请参考Lua入门一文。 本教程涵盖了Lua5.1。在Lua的每一个版本中都有一些非常不同之处。下面的示例代码将不能在老版
翻译自http://gamedevgeek.com/tutorials/getting-started-with-lua/ Lua入门 Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。 本教程涵盖了Lua5.1。在Lua的每一个
CEGUI所使用的脚本是基于Lua5.0.2 和tolua++ 1.06pre2-1的. 界面的编写很大一部分可以通过脚本来实现.我们可以修改脚本而不必重新编译整个程序, 这就为我们省去了好多时间去设计界面. 目前的Lua脚本模块仍然处于初期的开发阶段。它支持绝大多数的内核系统、基层的窗口类,不过,对于某些特殊的控件目前只能通过属性系统(properties system)来设置。 Ok,我们开始
Lua消息处理入门 把GUI的消息处理从代码中分离出来,并交给lua脚本处理,这样可以给你的界面带来很大的灵活性.GUI 的相关地东西可以在测试期间很轻松的修改. Lua中的负责处理消息的东西其实只不过是普普通通的只带一个参数的Lua函数而已.若想用它作事件 处理函数,你必须先在系统中注册它.所以除非你在初始化脚本中载入他们,你必须在处理相应事件之前 载入相关脚本文件. 载入脚本文件 有2种载入脚
在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。  Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。  在Lua中,一切都是变量,除了关键字。请记住这句话。I.   首先是注释  写一个程序,总是少不了注释的。  在Lua中,你可以使用单行注释和多行注释。  单行注释中
Lua游戏脚本语言入门 2009年01月22日 14:34:52   【发表评论/查看评论】   作者: 沐枫 (第二人生成员)   在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除
预计新项目会选择lua或python之一作为游戏的脚本语言。以前草草地接触过这两门语言,对于语法,以及嵌入进C/C++程序都有点感性上的认识。可能是受《UNIX编程艺术》中KISS原则的影响,现在总喜欢简洁的东西。所以我个人比较偏向于使用lua。   这两天翻了下网络上的资料,在lua的wiki上看到一篇比较lua和python的文章,草草地翻译出要点: Python: 1. 扩展库很多,资料很多
  tbl = {"alpha", "beta", ["one"] = "uno", ["two"] = "dos"} for key, value in ipairs(tbl) do print(key, value) end --pairs() --pairs()函数基本和ipairs()函数用法相同, 区别在于pairs()可以遍历整个table, 即包括数组及非数组部分. -->如有pai
1、编译Lua 下载到Lua的源代码以后,解压缩,里面会有4个文件夹外加一堆文件。其中src文件夹里面就是我们要用到的。 打开VS2003或者VS2005,新建一个空的Win32控制台应用程序,注意要是空的哦。这里假设该工程的目录在D:/lua。将刚才的src里的所有.h和.c文件拷贝到工程根目录下,也就是D:/lua下面。在VS中的“解决方案”视图中,右键点击“头文件”,添加现有项,将刚才拷贝过
Lua For Windows 环境配置及使sciTE支持中文 转自: http://hi.baidu.com/boxr/blog/item/e5b0d39441f10c17d21b70a8.html       环境:lua for windows (lfW) 主页:http://luaforwindows.luaforge.net/ lua for windows其实是一整套Lua的开发环境,
 为了方便起见,最好安装lua for windows,里面已经包含了很多有用的第三方模块。 使用lua调用excel,然后往cell里面填一些数据。 require('luacom') --Excelの起動 excel = luacom.CreateObject("Excel.Application") excel.Visible = true--可視状態に --ワークブックを追加 l
模式匹配函数  在string库中功能最强大的函数是:string.find (字符串查找), string.gsub (全局字符串替换), and string.gfind (全局字符串查找). 这些函数都是基于模式匹配的。  与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式(也写作regexp)来进行模式匹配(译者:POSIX是unix的工业标准,regexp最初来源于unix
x (这里 x 是指其不是这些转义字符 ^$()%.[]*+-? 之一) --- 其代表了这个字符本身. . --- 代表任何字符 %a --- 代表任何字母. 即[a-zA-Z] %c --- 代表任何的控制字符. %d ---代表任何的数字字符. 即[0-9] %l --- 代表所有的小写字母. 即[a-z] %p --- 代表所有的标点符号字符. %s --- 代表所有空格,tab 字符.
笔记: Lua标准库: table函数, 数学函数, 字符串函数/格式化/配对, WoW新增函数, 函数别名 Posted on 2009-05-21 21:25 apex.Cliz  http://www.cnblogs.com/apexaddon/articles/1486622.html 这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照Lua Reference Manual
作者: apex.Cliz  metatable 在一些博客上看到这个词被译作元表, 我更偏向把它称作重载表, 因为metatable的作用更像是重载(override)对应表的操作行为的(比如+, *). 构成metatable的方式是一个metatable挂接一个table, 如下所示: tbl1 = {"alpha", "beta", "gamma"} mt = {} setmetatabl
虽然我们把Lua当作解释型语言, 但是Lua会首先把代码预编译成中间码然后再执行(很多解释型语言都是这么做的)。在解释型语言中存在编译阶段听起来不合适,然而,解释型语言的特征不在于他们是否被编译,而是编译器是语言运行时的一部分,所以,执行编译产生的中间码速度会更快。我们可以说函数dofile的存在就是说明可以将Lua作为一种解释型语言被调用。 前面我们介绍过dofile,把它当作Lua运行代码的c