Lua
GoRustNeverStop
这个作者很懒,什么都没留下…
展开
-
LUA table类型
lua中的table可以认为是一个无所不能的容器,在这个容器中原创 2014-07-19 12:23:15 · 1257 阅读 · 0 评论 -
lua调c动态库【转】
Lua脚本调c动态库函数时开始调不成功,通过Lua官方的Mail List才知道:c动态库里的注册函数和Lua脚本的打开库的方式要一致。1.c动态库的代码:static int lua_msgbox(lua_State* L){ const char* message = luaL_checkstring(L, 1); const char* caption =原创 2014-11-19 22:09:36 · 858 阅读 · 0 评论 -
Lua的编译和安装过程
一、编译原创 2014-11-20 10:54:23 · 2107 阅读 · 0 评论 -
Lua5.3版本新特性
Lua是一个基于MIT开源协议、小巧、动态类型的可嵌入式脚本语言,该语言的设计目的是为了嵌入其他应用程序中并提供灵活的扩展和定制功能。在经过4个RC版本后,Lua终于迎来了5.3正式版,该版本主要实现了对整数、位操作、UTF-8 的支持以及打包和解包的功能。另外,Lua 5.3还在语言、功能库、C语言相关API等方面带来了如下改进:1、 语言方面Lua的基本类型userdata能够原创 2015-01-24 00:02:00 · 5689 阅读 · 0 评论 -
Lua weak table
weak table的定义: (1)weak表是一个表,它拥有metatable,并且metatable定义了__mode字段; (2)weak表中的引用是弱引用(weak reference),弱引用不会导致对象的引用计数变化。换言之,如果一个对象只有弱引用指向它,那么gc会自动回收该对象的内存。 (3)__mode字段可以取以下三个值:k、v、kv。k表示table.key是wea原创 2015-03-22 11:21:42 · 794 阅读 · 1 评论 -
The Application Program Interface
4 –The Application Program Interfaceication Program InterfaceThis section describes the C API for Lua, that is, the set of C functions available to the host program to communicate with Lua. All原创 2015-03-22 14:45:04 · 698 阅读 · 0 评论 -
ubuntu 10.10 mingw 编译 vlc player for windows
http://wiki.videolan.org/Win32Compile 1.安装mingw for linuxsteve@steve-vm:~$ sudo apt-get install gcc-mingw32 mingw32-binutils2. 安装lua 5.1steve@steve-vm:~$ sudo apt-get install lua5.1原创 2015-04-03 21:38:06 · 660 阅读 · 0 评论 -
Lua相关的扩展库
1. Luajit FFI这是一个Luajit的一个扩展模块,可以很方便在Lua调用外部C库函数接口。学习资料:Luajit官网:http://luajit.org/LuaJIT FFI 调用 Curl 示例:http://www.udpwork.com/item/8321.html2. LuaPlusLuaPlus是Lua的C++增强,也就是说原创 2015-06-20 00:11:16 · 1845 阅读 · 0 评论 -
Lua C PAI中的lua_dump
lua_dump接口的用法一直不是很明白,在string标准库源码中找到使用的方式static int writer (lua_State *L, const void* b, size_t size, void* B) { (void)L; luaL_addlstring((luaL_Buffer*) B, (const char *)b, size); return 0;}原创 2015-09-13 21:23:34 · 2672 阅读 · 0 评论 -
lua: userdata的metatable使用
1 如何封装c++的指针对于c++对象的lua包装,我们可以使用 template struct luaUserdataWrapper { luaUserdataWrapper() {} luaUserdataWrapper(const T& d) : data(d) {} T data; };class CObject{翻译 2015-10-22 23:21:41 · 5655 阅读 · 0 评论 -
lua 字符串 正则表达式 转义 特殊字符
string.gsub 函数有三个参数:目标串,模式串,替换串。基本作用是用来查找匹配模式的串,并将使用替换串其替换掉: s = string.gsub("Lua is good", "good", "bad?") print(s) --> Lua is badstring.gsub 的第二个返回值表示进行替换操作的次数。例如,下面代码计字符串中空格出现的次数:转载 2016-07-27 11:57:45 · 10148 阅读 · 0 评论 -
lua文件读写
文件读写文件读写对制作游戏很有帮助。可以调用别的文件中的代码,保存最高分、游戏存档、玩家状态等信写到文件中。首先,让我们看一个简单的命令:dofile。这个命令会读入另一个文件的代码并立即执行。代码:dofile("./test.lua")很简单的命令。注意 ./ 是指根目录,不是子目录。如果是子目录,应该这样用:代码:dofile(转载 2016-07-27 12:00:08 · 1748 阅读 · 0 评论 -
基础补充18:Lua的模块编写与module函数
很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块。 笨木头花心贡献,哈?花心?不,是用心~转载请注明,原文地址:http://www.benmutou.com/archives/1786文章来源:笨木头与游戏开发 1.编写一个简单的模块Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个t转载 2016-07-28 11:42:24 · 658 阅读 · 0 评论 -
用C语言扩展lua模块(入门)
lua中常常加载一些模块来实现某些功能。如果没有现成的模块以供require,那么我们只好自己写模块了。 前几天用C给lua扩展了sha1算法模块。提炼出来做个笔记。 lua示例代码如下:require "libencode"local str = "source str"local des = libencode.sha1(str)print(des) 我转载 2016-07-28 11:43:34 · 3309 阅读 · 0 评论 -
Lua CJSON安装和使用
Lua CJSON、2.1.0版本、MIT协议支持UTF-8,不支持UTF-16和UTF-32。 #没有任何影响。支持Lua-5.1、Lua-5.2、LuaJIT。【安装】方法一:修改Makefile设置PREFIX变量为/usr/local/lua,然后执行make install即可。方法二:执行make,然后cp cjson.so $LU转载 2016-08-09 11:00:11 · 8203 阅读 · 0 评论 -
SquirrelMQ消息队列
SquirrelMQ特性:1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。2. 另外SquirrelMQ支持持久化,在down机的情况下也不用担心数据丢失。3. SquirrelMQ支持lua脚本,你可以制定自己的处理队列程序,只要在cron/main.lua中编写代码即可。转载 2016-08-24 09:34:41 · 985 阅读 · 0 评论 -
Lua中os库详细介绍
原文链接http://www.jb51.net/article/57639.htm这个库通过表os实现os.clock ()功能:返回一个程序使用CPU时间的一个近似值例如:复制代码代码如下:local x = os.clock();print(os.clock())local s = 0;for i = 1, 100转载 2016-11-15 17:28:59 · 7369 阅读 · 0 评论 -
Lua和C之间的交互【转】
Lua和C之间的交互(一) Lua 调C函数 1. 什么样类型的函数可以被Lua调用 typedef int (*lua_CFunction) (lua_State *L); 2. 符合类型的函数怎样处理后才可以被Lua调用使用lua_register或者 lua_pushfunction和lua_setglobal原创 2014-11-19 22:14:11 · 805 阅读 · 0 评论 -
Lua中的协同程序——coroutine
Lua中的协程和多线程很相似,每一个协程有自己的堆栈,自己的局部变量,可以通过yield-resume实现在协程间的切换。不同之处是:Lua协程是非抢占式的多线程,必须手动在不同的协程间切换,且同一时刻只能有一个协程在运行。并且Lua中的协程无法在外部将其停止,而且有可能导致程序阻塞。 协同程序(Coroutine):三个状态:suspended(挂起,协同刚创建完成时或者yield之原创 2014-08-14 17:14:11 · 2439 阅读 · 0 评论 -
【转】细究lua闭包->搞清本质才是王道
细究lua闭包->搞清本质才是王道Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值相同(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然能定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,而f原创 2014-07-19 23:25:55 · 1201 阅读 · 0 评论 -
Lua之函数
在Lua中,函数是一种“第一类值(first-c)”原创 2014-07-19 23:05:46 · 794 阅读 · 0 评论 -
LUA中ipairs和pairs的区别
ipairs只遍历索引为数字的key-value对,原创 2014-07-28 09:58:11 · 998 阅读 · 0 评论 -
LUA面向对象程序设计(一)类
敬请期待。。。原创 2014-07-28 16:20:03 · 958 阅读 · 0 评论 -
Lua——metatable和metamethods
http://www.cnblogs.com/nepaul/archive/2011/08/18/2143936.html原创 2014-07-24 20:12:00 · 1003 阅读 · 0 评论 -
LUA面向对象程序设计(六)数据的封装
敬请期待。。。原创 2014-07-28 16:22:52 · 771 阅读 · 0 评论 -
HttpLuaModule文档
敬请期待。。。翻译 2014-07-28 16:58:45 · 898 阅读 · 0 评论 -
LUA中的冒号、点和self
敬请期待。。。原创 2014-07-28 16:17:42 · 7667 阅读 · 0 评论 -
LUA面向对象程序设计(二)继承
敬请期待。。。原创 2014-07-28 16:20:07 · 811 阅读 · 0 评论 -
LUA面向对象程序设计(三)多态
敬请期待。。。原创 2014-07-28 16:20:48 · 1644 阅读 · 0 评论 -
LUA面向对象程序设计(四)多重继承
敬请期待。。。原创 2014-07-28 16:21:31 · 2066 阅读 · 0 评论 -
ngx_Lua模块中的加密api接口
在Lua模块中提供了多种用于原创 2014-08-08 12:40:24 · 12533 阅读 · 2 评论 -
ngx_lua模块中正则表达式相关的api
在Lua模块中,通过正则表达式处理字符串的相关API,主要有:>原创 2014-08-08 18:19:57 · 23735 阅读 · 2 评论 -
ngx_Lua模块中的重定向
在Nginx中实现重定向可以通过rewrite指令,原创 2014-08-08 10:37:04 · 27674 阅读 · 0 评论 -
【转】Lua math库
atan2、sinh、cosh、tanh这4个应该用不到。函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)1原创 2014-08-09 16:23:54 · 3325 阅读 · 0 评论 -
记一次踩坑|空table应该编码为数组还是对象
Json有两种比较常用的数据类型:被{}包裹的对象(object),被[]包裹的数组(array)问题描述从第三方API返回的json数据,存在一个key的值为空数组,可是经过decode和encode这两步操作后,这个key的值就变为空对象了:local cjson = require('cjson')local raw = {}raw.name = 'answer'raw.list =...转载 2018-03-13 10:58:30 · 894 阅读 · 0 评论