lua专题提供lua的最新资讯内容,帮你更好的了解lua。
Python是荷兰人写的,Ruby是日本人写的,Lua是巴西人写的,我这个中国人只能在这里脸红。   Lua是所有动态语言中间平均效率最高的一个。它最初是以Library的形式存在,纯粹只是用作C/C++的一个扩展。现在不仅发展出了解释器,还发展出了编译器。游戏开发里Lua是使用最广泛的脚本语言。当世界上第一本Lua图书上市销售的时候,一位读者评价道:“Lua is a real gem.” Lu
Lua让我脸红 http://blog.csdn.net/myan/archive/2004/04/21/490.aspx 这篇文章写得很好,我们干什么去了,中国程序员干什么去了? 我想我就是喜新厌旧,喜欢追逐潮流,反而被潮流抛弃. 轻视基础,反而没有创新. 心态浮躁,竟然没有一点成果! 看看人家外国人写的程序,我常常有一个想法:他们不怕麻烦! 很多程序的实现很复杂,但是他们还是做出来了!这一点我
    Lua是一种动态类型语言,变量名可以在运行时绑定到任意类型的值上。Lua从函数式编程语言中借鉴了许多思想,这体现在Lua的基本类型中除了有number,string等其它语言中常见的基本类型外,还有函数(function)。这意味着函数: <1> 可以用变量命名; <2>可以提供给函数作为参数; <3> 可以作为函数的返回值; <4> 可以包含在数据结构中。下面我们利用函数在Lua中作为"
  {   ** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $   ** Lua - An Extensible Extension Language   ** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil   ** http://www.lua.org mai
// 我获得的lualib.dll文件里面 是没有luaopen_xx一类的函数的. unit LuaLib; interface uses lua; const   LUA_COLIBNAME = 'coroutine';   LUA_TABLIBNAME = 'table';   LUA_IOLIBNAME = 'io';   LUA_OSLIBNAME = 'os';   LUA_STRLI
{ ** $Id: lauxlib.h,v 1.60 2003/04/03 13:35:34 roberto Exp $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h }   {         this .h header file is translated by melic
原c程序luaopen_io(L);const char *buf = "var = 100";lua_dostring(L, buf);lua_getglobal(L, "var");int var = lua_tonumber(L, -1);assert(var == 100);lua_close(L);对应的pas程序var  L: lua_state;  i: double;begin 
最开始学习lua嵌入c的时候,一般会写下这样的一个小程序来执行一个脚本文件: 代码: int _tmain(int argc, _TCHAR* argv[]) {     // Open lua state     lua_State* L = lua_open();     luaopen_base( L );     // Load script file     luaL_loadfile(
学习LUA也有一些时日了,个人认为对于LUA中的栈的理解很重要,嗯,写个小文章(真的很小) 如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack。那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西)。那么至于如何操作栈上的数据,我想官方文档上已经说得很清楚了,不过最初我对于栈的顺序有一些迷糊,所以就说说这
DATASTRUCTURE 1、Lua表中的function类型后不加括号   如:example={exafun = fun1;};       function fun1()       end ; 2、Nil 空值,所有没有使用过的变量,都是nil。nil既是值,又是类型。 Number 数值,在Lua里,数值相当于C语言的double Userdata 嗯,这个类型专门用来和Lua的宿主打
SYNTAX 1、if else用法比较简单, 类似于C语言, 不过此处需要注意的是整个if只需要一个end, 哪怕用了多个elseif, 也是一个end. 例如   if op == "+" then     r = a + b   elseif op == "-" then     r = a - b   elseif op == "*" then     r = a*b   elseif o
前段时间一直在寻找, 究竟C++中嵌入哪种脚本语言比较好呢? Python, Ruby, Lua, Perl ? 后来, 开源社区的朋友很多都推荐Lua, 于是我也就开始学习Lua编程. 在大概了解Lua的基本编程之后,便开始实际写起程序. 于是在 http://www.lua.org 下载了源代码, SDK. 我的开发环境是VS.net 2003, 新建一个空的C++ console项目, 再新
Lua文档翻译(中) 类型 Lua是动态类型语言,不需要人为指明变量类型,脚本解释器会自动判断变量类型。简单的说,给变量赋什么类型的值,变量就变成什么类型。 Lua是动态类型语言,不需要人为指明变量类型,脚本解释器会自动判断变量类型。简单的说,给变量赋什么类型的值,变量就变成什么类型。 Lua是动态类型语言,不需要人为指明变量类型,脚本解释器会自动判断变量类型。简单的说,给变量赋什么类型的值,变量
Lua提供了源代码以便于用户自己编译。用户可以将之编译成静态库,也可以编译成为动态库。但Lua没有提供工程文件,需要用户自己添加,对新手而言,带来诸多不便。 一、Lua静态库 编译为静态库很简单,有人已经写过,现摘录如下:  Lua 包含core lib和standard lib,详细情况可以查阅文档,为了简单起见,我们将其放到一个lib中,我们需要建立一个静态库的工程,然后将其源文件加入到工程中
前两天云风在gtalk里告诉我,Lua 5.1发布了。这可是个大事。5.0发布于2003年4月,0.1的跳跃花了3年,可见Lua社群的严谨。消息在http://www.lua.org/ 并没有体现,估计是他们还有点不放心,把这次发布当成公测了。 两年前我写过一个帖子,赞叹过Lua的源码之精致。两年之后,Lua抵制住了各种诱惑,源码仍然那样精致小巧,令人钦佩。不过Lua社群可比几年前壮大的多了。 下
全是傻瓜式操作: Windows:  把etc目录下的luavs.bat 拷到lua的解压根目录下直接运行, 就ok了! Linux: $make linux && make install 标准的linux安装 luaEdit有一个作者没有解决的bug, 恰好被我碰到,要反省一下自己的rp了!  还是转到linux下用vi吧 :D 一个有趣的例子, 就是用lua在输出一条正弦曲线 :) $mkd
lua的有一个重要的概念就是闭包 :) 试一下 : function newCounter()  local i = 0  return function() -- 匿名函数   i = i + 1   return i  nd end c1 = newCounter() print(c1()) --> 1 print(c1()) --> 2 其实actionscript也存在这种概念, 只是不推
对lua有了个初步的了解, 同事按捺不住在项目上面用了一下c api. 由于大家都不熟lua的 c api, 我也去学习一下. 这样大家可以讨论了. 5.1的 luaopen_io()不能用了, 用了一下直接挂掉. 查了一下官方的文档, 他没有说清楚.只是说不能直接调用. 不明白  而且看了一下, lua_open()宏最好由 luaL_newstate()来代替. 首先试了一下对 全局变量的读取
    这几天开了个小差, 把lua的很多扩展库都用了一下, luasocket, luasql, luacom, kepler... 最后终于理解了require的作用了.  其实也就是pil提及到的搜索加载目录那么简单,当然有一个经验就是定义LUA_PATH与package.cpath的值,就像定义include和lib的路径一样, 可以方便地导入到lua环境 :)    本来打算用luasq
上周看了一下lua的package和OO,感觉不错, lua并不像python程序员抨击的那样不优美. 顺便看了一下pil中,  c函数调用lua以及lua调用c函数的内容. 一、c调用lua函数一般的过程是: 1. load一个lua的文件,形成一个闭包并执行它 2. 在栈中压入函数的名称 3. 依次在栈中压入函数的实参 4. 使用lua_pcall调用lua函数。 形式是: lua_pcall