lua文章/教程

Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

lua 调用C函数

#include "tolua_fix.h" #include "WordFilter.h" #include "LuaBasicConversions.h" #include "lua_sensitive_binding.h" int lua_sensitive_loadfile(lua_State* tolua_S) { size_t sz = 0; const char * »

Lua的string库函数、lua中string的模式匹配

--****************Lua的string库函数****************** --1.string.byte --string.byte (s [, i [, j]]) --取出字符串中的字节.i是起始位置,j是结束位置. --解析协议的时候经常用来将字符串中的某几个字节取出,然后重新组装为一个多字节的数字. --2.str »

Lua1

使用lua进行脚本编程有很多优点: 1 代码体积小 2 执行速度快 3 安全性较高等 4 但是最大的优点是修改后的代码不需要重新编译即可生效,而高级语言的代码经过修改后需要经过重新编译或者解释后才能生效。   lua主要用于游戏应用层的开发。由于游戏上层的逻辑会而经常发生变化,比如游戏的任务系统或者活动系统。 我们可以设想一下,如果每次都要修改我们所用的C#代码重新编译,那么玩家根本就无法进行游戏 »

Lua require搜索路径指定方法

在自己的lua文件中,如果使用到了自己写的C库或者第三方库,想让lua编译到自己指定的目录下寻找*.lua或*。so文件的时候,可以再自己的Lua代码中添加如下代码,可以指定require搜索的路径。      package.path = '/usr/local/share/lua/5.1/?.lua;/home/resty/?.lua;'    --搜索lua模块    package.cpa »

第1课 - 学习 Lua 的意义

第1课 - 学习 Lua 的意义 1.Lua 简介             (1) 1993年、巴西 (2) 小巧精致的脚本语言,大小只有 200K (3) 用标准C语言写成,能够在所有的平台上编译运行 (4) 发明的目标是嵌入在C/C++中,为应用程序提供灵活的扩展和定制功能 (5) 不适合用于开发独立的应用程序 2.Lua 产生的原因     C/C++ 工程中有大量的业务逻辑,而业务逻辑经 »

lua:使用Lua处理游戏数据

在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件。 其实lua在游戏开发中可以作为一个强大的保存、载入游戏数据的工具。   比如说,现在我有一份表单: data.xls 用什么工具解析这个Excel文件并将数据载入游戏? 我们可以使用Lua来完成这个工作。不过要先将表单保存为csv文件(数值用逗号隔开的文件)。 从表单中,我们可以得知第一行是键名,剩下的行是数值。我们可以用下 »

lua中self.__index = self是什么意思?

example1 Account = {balance = 0} function Account:new(conf) conf = conf or {} setmetatable(conf,self) self.__index = self return conf end Account模拟一个对象,new方法类似于实例化一个对象,conf可存放一些初始值 »

<转>windows下编译lua源码

因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码。 首先从 lua的官网 下载你想要使用的lua源码,比如我下载的就是lua5.2。解压后内容如下: 所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会 »

给lua_close实现回调函数

先讲下为什么会需要lua_close回调吧。 我用C++给lua写过不少库,其中有一些,是C++依赖堆内存,并且是每一个lua对象使用一块单独的内存来使用的。 在之前,我一直都是魔改lua源代码,给lua_State结构添加新的成员来进行快速引用,并修改了lua_close的源代码,添加了回调函数,使lua在对象关闭时顺便把C++分配的内存也回收掉。 然而随着有相同需求的库不断增多,我随时需要调整 »

lua接收图片并进行md5处理

需要luacurl(http://luacurl.luaforge.net/)和MD5两个库函数 curl = require(&quot;luacurl&quot;) require(&quot;md5&quot;) -- 下载图片 function get_img(url, c) local result = {} if c == nil then c = curl.new() end »

Lua 计算两个GPS坐标点之间的距离

local EARTH_RADIUS = 6378.137local function rad(d)  return d * math.pi / 180.0end local function getDistance(lat1,lng1,lat2,lng2)   local radLat1 = rad(lat1)   local radLat2 = rad(lat2)   local a = »

cocos2dx lua bug之module 'lsqlite3' not found

05-27 15:41:01.360: D/cocos2d-x debug info(7261): [LUA-print] ----------------------------------------05-27 15:41:01.360: D/cocos2d-x debug info(7261): [LUA-print] LUA ERROR: [string &quot;src/bqsframework »

第二十三篇:在SOUI中使用LUA脚本开发界面

像写网页一样做客户端界面可能是很多客户端开发的理想。 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑。当需求变化时,只需要在服务端把相关代码调整一下,用户即可看到新的内容(界面)。 传统的客户端程序开发流程和网页开发可能完全不同。 首先是界面的布局,在老式的界面布局过程中,程序员先在界面上放好各种控件 »

lua工具库penlight--02表和数组

类Python的List lua的优美之处在于把数组和关联数组都用table实现了(Python中叫list和dict,C++中叫vector和map)。 一般我们把数字索引的table叫做list。penlight里的List模仿了Python,看起来从Python借鉴是个好主意。 下面是一个List的例子,List实现了__tostirng,因此可以输出自己。  &amp;gt; List = r »

LUA解析json小demo

需要修改的json数据gui-config.json { &quot;configs&quot;: [{ &quot;server&quot;: &quot;JP3.ISS.TF&quot;, &quot;server_port&quot;: 443, &quot;password&quot;: &quot;58603228&quot;, &quot;method&quot;: &quot;aes-256-cfb&quot;, &quot;remarks&quot;: &quot; »

lua中table复制

-- Returns a new table, recursively copied from the one given. -- -- @param table table to be copied -- @return table local function tbl_copy(orig) local orig_type = type(orig) local copy »

[lua]lua简介

在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除了关键字。请记住这句话。 I. 首先是注释   写一个程序,总是少不了注释的。  在Lua中,你可以使用单行注释和多行注释。  单行注 »

如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)

http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroBrane Studio做为一个轻量级的Lua IDE,因为它支持跨平台(支持Windows、Mac和Linux)和支持真机调试(Andorid、IPhone和IPad),所以经常被用来调试Lua。目前 »

LUA交互函数

lua_newtable void lua_newtable (lua_State *L); 创建一个空 table ,并将之压入堆栈。 它等价于 lua_createtable(L, 0, 0) 。   lua_gettop int lua_gettop (lua_State *L); 返回栈顶元素的索引。 因为索引是从 1 开始编号的, 所以这个结果等于堆栈上的元素个数(因此返回 0 表 »