lua专题提供lua的最新资讯内容,帮你更好的了解lua。
应用程序设计者应该从一开始就考虑脚本。这会给它们带来更多的灵活性。而且这样做还可以更好的把握性能问题。因为这样做以后,会迫使他们去考虑程序中到底哪里是性能关键,而哪些地方无伤大雅。   我们不信任基于抢占式内存共享的多线程技术。我们仍然认为,如果在连 a=a+1 都没有确定结果的语言中,无人可以写出正确的程序。   你认为未来可能会用到的功能,就不要马上添加了:现在增加这个功能只会让你日后真的需要
Lua语言如何调用自己编写的C DLL文件 #include "lua.h" #include "lualib.h" #include "lauxlib.h" #include <windows.h> static int MyLuaDLL_HelloWorld(lua_State* L) { MessageBox(NULL,"Hello","World",
变量和值的区别 变量是值的载体,变量消失,值却不一定消失 object Tables, functions, threads, and (full) userdata values are objects: variables do not actually contain these values, only references to them. Assignment, parameter p
 Lua 的模式匹配不使用Posix规范的正则表达式(也写做regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现只用了500行代码,当然这意味着不可能实现POSIX所规范的所有更能。然而,Lua中的模式匹配功能是很强大的,并且包含了一些使用标准POS
  某日大街上一人仰面朝天,路人不知何意纷纷效仿,顿时交通堵塞,场面好不壮观,稍事那人长叹一声,不想身旁早已人山人海,惊恐之下急问缘由,众人皆怪,问之,那人笑笑说,“天干物燥,鼻血上涌”。   nnt,害我浪费两个星期,我也害害人,收集的资源在此:
Lua 的模式匹配不使用Posix规范的正则表达式(也写做regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现只用了500行代码,当然这意味着不可能实现POSIX所规范的所有更能。然而,Lua中的模式匹配功能是很强大的,并且包含了一些使用标准POSI
http://www.codingnow.com/2000/download/lua_manual.html   使用lua 从几点出发: 1、当做配置文件。                                2、c中调用lua模块                                3、 lua做数据描述。        4、环境、模块、协程。 5、数据结构。string库
local function heapfy_up(heap) local i = heap.size local p = math.floor(i/2) local t while i>1 and heap.data[i]<heap.data[p] do t = heap.data[i] heap.data[i] = he
 全局变量&非全局变量:每一个全局变量定义后,就会在系统表_G里面添加这个变量,定义全局变量不用声明。全局变量可以直接引用,也可以通过_G表来引用。如:a = 2 ,那么a和_G.a就表示同一个变量。非全局变量通过local来声明,不能通过_G表来访问。如: local a = 4,那么a和_G.a就不是同一个变量。        数据类型:共有8种数据类型:nil、boolean、number、
lua的__newindex 有一点没太明白,是不是这么用太无聊了???   假如:   _t ={}   m ={}   m.__newindex= function(t,n,k) print("this is the newindex") _t[n] = k end   setmetatable(_t,m)   _t[2] = 100   print(_t[2]) 会报错。 要是改成这样: _
写了一个很简单的脚本,调用了lxp,发现lua_close时异常。 借用网上的测试代码:http://www.gamedev.net/community/forums/topic.asp?topic_id=474091   LUA脚本: require "lxp" local count = 0 callbacks = { StartElement = function (par
lua 实现链表 是比较容易实现的, 但是遇到一个问题,导致判断条件一直出错。 遇到的问题分析: list = {} list = nil   两者是不同的。可以做个简单的判断:   1、 list = {}   if list == nil then  print("list  == nil") end   list = nil   if list == nil then print ("lis
实现的太简单。   queue = {}   function queue.new() return { first = 0, last = -1 } end     function queue.push( Q, value) local last = Q.last + 1 Q.last = last Q[last] = value end   function queue.pop (Q) lo
lua_settable(lua_State* L, int index)   就是把表在lua堆栈中的值弹出来,index 是table 在堆栈中的位置,假如 table 在 -3, 则key 应该是 -2,value 是 -1   相当于 table[key] = value.
转自:http://www.cppprog.com/2009/0209/62_2.html
转自: http://blog.csdn.net/bhwst/archive/2010/07/23/5756441.aspx my.c文件:                    #include "stdafx.h"   #include <stdio.h>   #include "my.h"      static int pri(lua_State *L)   {     MessageBo
以遍历一个列表中的元素为例, 总共有以下几种方法: 1.使用协同   function it(a) local i = 1 local n = table.getn(a) for index =i,n do --print(" index = ", index) coroutine.yield(a[index]) end end function sqf_list(
Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。 本教程涵盖了Lua5.1。在Lua的每一个版本中都有一些非常不同之处。下面的示例代码将不能在老版本的Lua下运行。如果你仍然在使用老版本而且不愿意升级,不用担心,我已经在文章底部
写一个最最简单的程序——Hello World。 print("Hello World") 假定你把上面这句保存在hello.lua文件中,你在命令行只需要: prompt> lua hello.lua 看到结果了吗? 让我们来看一个稍微复杂点的例子: -- defines a factorial function function fact (n)     if n == 0 then     
第0章 序言 本章包括作者的序言、文章的体例(convention)以及其它一些“每本书开头都会的内容”。 0.1 序言 目前很多程序语言都专注于帮你编写成千上万行的代码,所以此类型的语言所提供的包、命名空间、复杂的类型系统及无数的结构,有上千页的文档需要操作者学习。 而Lua并不帮你编写大量的代码的程序,相反的,Lua仅让你用少量的代码解决关键问题。为实现这个目标,像其他语言一样Lua依赖于其可