lua专题提供lua的最新资讯内容,帮你更好的了解lua。
转载----看了下转载的文章也没有说明出处,所以暂时也就不写出处了,如知原文出处还望告之.谢谢 -------------------------------------------------------------------------------------------------- 在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,
 Lua5.1 新特点: Lua 5.1 was released on 21 Feb 2006. The main features in Lua 5.1 are a new module system, incremental garbage collection, new mechanism for varargs, new syntax for long strings and comme
 Lua5.1提供了较为完善的debug库函数,其中的sethook可以让用户自己设置hook函数来监控程序的某些运行行为,这包括:调用 函数,从函数返回和将要运行新的一行代码,每当这些事件(event)发生时hook函数都会被调用。读者可以试试 monitor_v1.lua, 它是debug hook功能的一个简单应用。require导入该文件后便得到一个名为monitor的扩展库,里面只有一个
Lua 5.0 参考手册 作者: Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes Copyright © 2003 Tecgraf, PUC-Rio. All rights reserved. 译者:ShiningRay Nicholas @ NirvanaStudio 1 - 绪论 Lua是一种为支持有数据描述
 Lua脚本调用C函数小结   Lua脚本调用C函数小结 仔细的学习了一下,发现功能的确非常强大。用脚本调用C的函数,都希望有如下特性: 1. 多输出 Lua 本身就支持函数返回多个值,语法如下: x,y = testext.Test() 2. 可以使用类似C的结构的形式输入输出 Lua 的Table可以在形式上很好的模仿C的结构, a = {} a.i = 101 a.name = "jason
 本文是我在阅读Lua源代码时的一些心得笔记, Lua的版本是5.1.1. 将主要关注Lua解释器的结构, 以及部分重要算法, 并不针对每个细节进行说明. 希望本系列文章, 能够总体上说明Lua的实现的脉络, 在需要的时候能够进一步分析源码对Lua并做适当的定制. 将按以下顺序来说明Lua的实现: 首先, 将讨论Lua基本对象(空, 布尔, 数值, 字符串, 表, 函数, 线程, 用户数据)的实现
Lua是动态类型的语言, 即是说类型附着于值而不变量[1]. Lua的八种基本类型空, 布尔, 数值, 字符串, 表, 函数和用户数据. 所有类似的值都是虚拟机的第一类值. Lua 解释器将其表示成为标签联合(tagged union). 如下面代码示例所示: lobject.h : 56 /* ** Union of all Lua values */ typedef union {     G
Lua首先将源程序编译成为字节码,然后交由虚拟机解释执行.对于每一个函数,Lua的编译器将创建一个原型(prototype),它由一组指令及其使用到的常量组成[1].最初的Lua虚拟机是基于栈的.到1993年,Lua5.0版本,采用了基于寄存器的虚拟机,使得Lua的解释效率得到提升, 体系结构与指令系统 与虚拟机和指令相关的文件主要有两个: lopcodes.c 和 lvm.c. 从名称可以看出来
 自己封装了一套lua的c++封装库(5.1),优点是上手极容易,只有头文件,封装了大部分的API,而且效率损失很小。可在vc8下编译通过。 以下为摘要: 加载脚本: Dx::Lua::Domain d; d.DoFile("Test.lua"); 索引: 使用[] d["print"]; d["table"]["foreach"]; 提取变量: string s; d["the_string"]
http://game.chinaitlab.com/program/30612.html
     我的脚本开发到了中途,变量,函数,for,while,if then else elseif 都写完了。开始写的时候就定下誓约,不和Lua比速度。因为是自己写的,函数接口可以写的很友好,需要特殊的功能和语法也可以添加。虚拟机准备向c过度。     很长时间都是用luaide进行Lua的学习,lua用的最多的一次也都是LuaPlayer,所以最近尝试用Lua本身的编译器和解释器试下。 使用
Lua作为编程语言对大多数编程人员来说可能还是陌生的,但其实它的存在已经很久了,1993年诞生至今,十四个年头过去了。以前它可能只在某些领域引起过注意,但随着更多开发人员的加入,它的影响正在日益扩大,所以以后大家肯定会越来越多地听到它的名字了。   Lua有个美丽的名字――“月亮”(葡萄牙语),它的家乡在巴西的里约热内卢。计算机界有一个鼎鼎大名的Sun,现在又有了moon,下一个是不是就该star
Lua是一种动态输入语言,因此变量无所谓类型,只有值才与数据类型相关。在Lua中有八种基本数据类型: 1、nil    这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 2、boolean    包含两个值:false和true。 3、number    表示双精度类型的实浮点数 4、string    表示字符串数组。 5、function    表示调用的函
Lua中的赋值与运算与其他编程语言很类似,如果你用过其他语言,那么将十分容易上手。因为Lua强调简单性,所以其赋值操作会更加灵活(如多变量赋值)。看看下面的例子: > num1 = 0.9 > num2 = 12.3 > print(num1 + num2) 13.2 > sum = 0.9 + 12.3 > print(sum) 13.2 > Sum = 1.8 > print(Sum) 1.8
关于字符串(String)的操作,Lua也很简单灵活,请看下面例子: > msg1 = “Hello, world!” > print(msg1) Hello, world! > print(“Hello, world!”) Hello, world! > print(‘Hello, world!’) Hello, world! > print(‘Hello, this is “Big” Tom.
关系和比较运算都是最基本的,Lua遵循一般规则,且看例子就好了: > print(0 < 1) true > print(0 == 1) false > print(0 ~= 1) True > str1 = “Zhang Ming” > str2 = “Zhang Ming” > print(str1 == str2) true > print(“a” < “b”) true > print(“
再介绍几个常用的Lua运算符,它们与其他语言略有差别: 1、字符串连接符    一般我们看到的字符串连接符都是+号,但Lua有所不同,它使用的是..,例如: > print(“Zhang” .. “ Ming”) Zhang Ming > print(“Hello,”..” Zhang”..” Ming.”) Hello, Zhang Ming. 2、取长符    这个符号用来获得字符串的长度,使
每种语言都是这些复合结构,Lua也没啥特别的东西,这里仅列举一下: 1、if … then … elseif … then  … elseif … then  … else … end 2、while … do …    end 3、for … do …    end 4、repeat          …    until … 5、break 6、do …    end 注意几点:在每个结构后都
本文作者:sodme 本文出处:http://blog.csdn.net/sodme 声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢. 参考资源: http://www.lua.org/pil/ 一 个小小的脚本语言都能玩出这么多花样来,还真有点让我始料不及。你还别说,越写越觉得有意思了,现在干的活,很多的时候,象一个
改BUG改到脚本里,郁闷了,没法调试 google一下,找到了云风大牛上的一个Lua调试器 看了一下,估计转内网我也不会用 通常没法单步调试的程序我都是LOG/TRACE 本想用Lua的print来着,可是游戏的控制台里愣是没有,汗~ 最后想了想,注册了一个C++函数: void  LuaTrace(  const   char *  text ) {     Assert( NULL  !=