Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的
lua与C交互中的堆栈详解 1.  堆栈       当在Lua和C之间交换数据时我们面临着两个问题:动态与静态类型系统的不匹配和自动与手动内存管理的不一致。       在Lua中,我们写下a[k]=v时,k和v可以有几种不同的类型(由于metatables的存在,a也可能有不同的类型)。如果我们想在C中提供类似的操作,无论怎样,操作表的函数(settable)必定有一个固定的类型。我们将需要几
    Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。     Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。   L
lua语法入门 在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用 途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除 了关键字。请记住这句话。 I.  首先是注释   写一个程序,总是少不了注释的。   在Lua中,你可以使用单行注
2009-11-09 10:38 Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值相同(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然能定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,而f1的外包也一定是
string.gmatch(str, pattern)        这是一 个返回迭代器的函数. 实际的用例如下: s = "hello world from Lua" for w in string.gmatch(s, "%a+") do  print(w) end 这里是一个捕获并将配对字符分别存到不同变量的例子: t = {} s = "from=world, to=Lua" for k,
《Masterminds of Programming: Conversations with the Creators of Major Programming Languages》是本相当不错的书。博文翻译出版了这本书,中文名叫做《编程之魂 》。 书是好书,可惜翻译这本书需要对各种语言的深入研究,看起来译者有点力不从心。出版社打算重新做这本书。受编辑所托,我校对了其中第七章:有关 Lua 的一
最近在看LUA语言的一些相关知识。觉得LUA语言要掌握起来还是比较容易上手的,主要就是要记得:LUA写程序就像你写文章一样,你想表达出来的东西完全不需要借助其它的思维转换(这么说有点过分,总之就是很简便,嘿嘿 )。 在LUA里面,并没有像C语言的花括号来标示在一个域内,而仅仅是使用“end"关键字来标示一个域的结束。例如想写一个函数,我只需要这样 function fun(x)  return '
lua在我这种菜鸟看来,也就是以个简单的结构table,可以实现很复杂的需求,table组成各种复杂的结构,对这个结构的插入、删除、遍历、读取、存储,进行一些常规的网游方面逻辑的处理。还有一个可能是比较灵活,方便修改?         不要想单独拿lua去做东西,太麻烦,它就是一个胶水语言,主要是为了方便写结构,还有就是方便修改。
一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep, start, end) concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep)隔开。除了tabl
转载自:云风的BLOG http://blog.codingnow.com/ ============================================================== 《Masterminds of Programming: Conversations with the Creators of Major Programming Languages》是本相当不错
调试lua现有的几种方案:  1)luaedit  : 编辑断点和断点命中查看那些都让习惯用vs的人感到亲切,但是它只是在纯lua环境下的编辑器,也就是说和期望程序运行中能借用它来调试脚本可能性不大(至少我没有试验出来),能用上的需要给lua脚本做个main脚本函数,并提供一系列伪的c api(由lua实现的函数,只提供制定值的返回)。由luaedit启动脚本main函数进行调试  2)利用 lu
   昨天晚上磕磕绊绊的把nginx 装好了(所有需要的包都是源码包),今天开始部署数据库,因为需要lua 语言环境支持,所以需要先安装lua,结果这东西安装也不是那么顺利, 第一步是 make 第二步   make linux 这里出错了,提示如下 luaconf.h:275:31: error: readline/readline.h: No such file or directory lu
在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除了关键字。请记住这句话。 I. 首先是注释   写一个程序,总是少不了注释的。   在Lua中,你可以使用单行注释和多行
Lua脚本语法说明(修订) Lua脚本语法说明(增加lua5.1部份特性)   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。   在Lua中,一切都是变量,除了关键字。 I.  首先是注释   写一个程序,总是少不了注释的。   在Lua中,你可以使用单行注释和多行注
Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes 云风 译 www.codingnow.com Copyright © 2006 Lua.org, PUC-Rio. All rights reserved.     官方原文:http://www.lua.org/manual/5.1
原文地址:http://bbs.luaer.cn/read-Lua-tid-136.html   Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。本教程涵盖了Lua5.1。在Lua的每一个版本中都有一些非常不同之处。下面的示例代
1 介绍 LuaBind 是一个帮助你绑定C++和Lua的库.她有能力暴露 C++ 函数和类到 Lua . 她也有 能力支持函数式的定义一个Lua类,而且使之继承自C++或者Lua. Lua类可以覆写从 C++ 基类 继承来的虚函数. 她的目标平台是Lua 5.0 ,不能支持Lua 4.0 . 她利用模板原编程技术实现.这意味着,你不需要额外的预处理过程去编译你的工程(编译器 会替你完成全部的工作
Lua是一个嵌入式的脚本语言,它不仅可以单独使用还能与其它语言混合调用。 Lua与其它脚本语言相比,其突出优势在于: 可扩展性。Lua的扩展性非常卓越,以至于很多人把Lua用作搭建领域语言的工具(注:比如游戏脚本)。Lua被设计为易于扩展的,可以通过Lua代码或者 C代码扩展,Lua的很多功能都是通过外部库来扩展的。Lua很容易与C/C++、java、fortran、Smalltalk、Ada,以
最近用luatinker发现真的挺好用,不仅可以轻松把 c++ 中 class 和 struct 对象导给 lua来调用, 而且连union 对象一样可以支持。 和 class 一样,一个union 如果需要让 lua中能创建能使用 ,必须调用 class_add,class_con,class_mem 来把 union 的 名字,构造,和 成员都暴露给lua ,所不同的是 class里面把成员变
     现在,越来越多的C++服务器和客户端融入了脚本的支持,尤其在网游领域,脚本语言已经渗透到了方方面面,比如你可以在你的客户端增加一个脚本,这个脚本将会帮你在界面上显示新的数据,亦或帮你完成某些任务,亦或帮你查看别的玩家或者NPC的状态。。。如此等等。 但是我觉得,其实脚本语言与C++的结合,远远比你在游戏中看到的特效要来的迅猛。它可以运用到方方面面的领域,比如你最常见的应用领域。比如,你可
上一节讲了一些基本的Lua应用,或许你会说,还是很简单么。呵呵,恩,是的,本来Lua就是为了让大家使用的方便快捷而设计的。如果设计的过为复杂,就不会有人使用了。 下面,我要强调一下,Lua的栈的一些概念,因为这个确实很重要,你会经常用到。熟练使用Lua,最重要的就是要时刻知道什么时候栈里面的数据是什么顺序,都是什么。如果你能熟练知道这些,实际你已经是Lua运用的高手了。 说真的,第一次我接触栈的时
前两天一直忙于工作,没有时间来更新,呵呵,今天赶紧补上吧。 上一讲我把Lua基本的栈规则讲了一下,然后完善了一下我的CLuaFn类。让它可以支持任意参数数量和函数名称的传值。当然,这些功能是为了今天这篇文章而铺路的。 看了七猫的回帖,呵呵,确实应该说一下SWIG这个工具,说真的,我对这个工具理解不深,因为没有怎么用过,读过一些关于它的文章,似乎是帮你把C++的功能封装成一个Lua基本库的东西,但是
1) base64支持    wget http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz    Tar xzvf luasocket-2.0.2.tar.gz    cd  luasocket- 2.0 . 2    Make && make install        测试  >  require  " mime
1、编译LUA 第1步: 从官方主页www.lua.org 下载Lua源代码,最新版本为5.1.2 。 解压之后找到“src”文件夹,这里面就是Lua了,不过还不能直接使用。 第2步: 使用任意ANSI C编译器,在这里使用VS2005编译LUA。具体步骤如下: 1、新建一个空的Console工程,在这里该工程名暂为“lua” 2、将src中的文件全部拷贝到该项目文件夹下 3、根据生成的文件来添加
可以在vs上调试lua的插件,就是vslua。vslua不只能调试独立的lua脚本,而且还能调试luabind,luaplus等在C++中调用的lua函数。只需将vslua的编译器设置成带有lua导出符号的dll,就可以用这个dll进行调试lua了,相当方便。这样就可以抛弃以前的到处打印信息的做法了。真是相见恨晚啊。不过有一点,目前vslua只支持英文版的vs。   使用VSLua可以将Lua语言
1.前言 上次偶说到从C/C++中调用Lua的函数, 然后就有朋友问从Lua中如何调用C/C++的 函数, 所以偶们这次就来说说这个问题. 首先偶们会在C++中建立一个函数, 然后 告知Lua有这个函数, 最后再执行它. 另外, 由于函数不是在Lua中定义的, 所以 无法确定函数的正确性, 可能在调用过程中会出错, 因此偶们还会说说Lua出错处 理的问题. 2.Lua中调用C函数 在lua中是以函
 http://www.unknownworlds.com/decoda   今天项目组的同事提起来要整个调式lua的工具,由于近期项目中用到lua的脚本日趋增长,导致脚本出问题的几率也日益增加~~ 。调试起来也不是特别方便,所以有必要整一个。于是就先找到了一个调式器,暂时可以满足项目的需求。下面先转帖一下网上一位朋友写的软件使用帮助,感谢!    Decoda Tutorial 1:从Decod
lua初始化命令行 安装LuaForWindows环境后,在环境变量中添加LUA_INIT,可以将环境变量值设为以下两种: 1. @d:/lua/example.lua 2. print("you, be diligent!") 第一种:启动lua命令行时,将会执行example.lua文件。"@"表明是执行一个文件。 第二种:直接执行语句。在启动命令行时,将会打印"you, be diligen
Lua脚本语法说明(修订)   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。   在Lua中,一切都是变量,除了关键字。 I.  首先是注释   写一个程序,总是少不了注释的。   在Lua中,你可以使用单行注释和多行注释。   单行注释中,连续两个减号"--"表示注
一.Hello World 1.前言      偶最近在学习Lua, 所以写出心得和大家共享, 争取一天写一篇, 嘿嘿.   才开始学所以内容很浅, 希望大家包涵.   Lua是一种完全免费的脚本语言, 可以和C/C++语言紧密结合,   它的官方网站在http://www.lua.org. 在网站上可以下载到lua的源码, 没有可   执行版本, 不过不用担心, 因为lua源码可以在任何一种C/