【Lua中的__index方法详解】教程文章相关的互联网学习教程文章

在OpenResty中使用lua-zlib的方法【代码】【图】

==================================================================1、查看 zlib在centos 中是否存在?rpm -qa | grep zlib显示:zlib-devel-1.2.3-29.el6.x86_64zlib-1.2.3-29.el6.x86_64表示已安装,不用过多担心 。====================================================================2、安装cmake编译器yum install -y gcc gcc-c++ make automake wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gztar -zxvf ...

LUA require 搜索路径指定方法【代码】

如果是一个 *.LUA 的文件, 里面用到了自己写的库, 或者第三方写的库, 但是你不想把它放到 lua 的安装目录里, 则在代码里面可以指定require搜索的路径。package.path = ‘/usr/local/share/lua/5.1/?.lua;/home/resty/?.lua;‘ --搜索lua模块package.cpath = ‘/usr/local/lib/lua/5.1/?.so;‘ --搜索so模块如果是要在 nginx.conf 文件中引用第三方的库,则需要在 http 段中添加下面的代码lua_package_path ‘/usr/lo...

总结关于lua, c , android,在 cocos2d-x 之间的调用方法【代码】【图】

把这几天瞎搞的东西总结一下. 环境配置什么的也比较烦. ndk.java.在cocos2dx的环境中都有配置.参1很基础很基础很基础的环境配置. 1.android与C 之间的调用 android通过JNI 来调用C(不带C++玩.extern "C"), 1.1android调用C  如果要在Eclipse中用C/C++编译要在工程上选android tools 的add native support,来编译c/c++.对于cocos2dx的理论上已经设置好了. 当然如果没有. 那还是用cocos compile来编吧. 自己做的darkc项目的工程如果...

Lua判断一个目录或文件是否存在的方法

一、使用io.openOpen 一下就可以了。复制代码 代码如下: file,err=io.open("XXXX") 如果文件正常打开 file为文件句柄,err 为 nil 。否则 file 为 nil ,err为错误信息 “drr: No such file or directory”。只需要 open 一下。然后看看返回值。复制代码 代码如下: somefile="xxxj.pdf" local F,err=io.open(somefile,"r+"); print(err) 如果文件不存在 err 会包含相关信息。 二、自定义函数复制代码 代码如下: function file_exis...

一款lua点方法与冒号方法相互转换工具【图】

工具地址在这里。Q:为什么做一款这么看似无用的工具?A:项目开发所用框架地址https://github.com/zhang00lei/jetbrains_myLuaTools,公司同事期望代码风格能与框架保持一致,如下这种风格。但是这种风格的代码对Emmylua简直太不友好,Emmylua提供的注解,代码提示,自动补全等功能,完全不能很好的使用,于是就做了这样一款工具,它能够很好的将点方法与冒号方法互相转换,也能够很好的格式化、检查相关代码。如果你有相似的需求...

lua中,两种json和table互转方法的效率比较【代码】

lua中json和table的互转,是我们在平时开发过程中经常用到的。比如:在用lua编写的服务器中,如果客户端发送json格式的数据,那么在lua处理业务逻辑的时候,必然需要转换成lua自己的数据结构,如table。此时,就会用到table和json格式的互转。在用lua编写的服务器中,如果我们通过redis来存储数据,由于redis中不存在table这种数据结构,因此,我们可以选择将table转换成json字符串来进行存储。在数据的存取过程中,也会用到table和...

用vs2013编译lua源码方法(一)【图】

用vs2013编译lua源码方法来源:网络 编辑:admin1.下载lua源码:lua-5.2.3.tar.gz,解压2.用vs2013建立一个win32工程:1)下载后解压到一个目录下,这里假设解压到 F:\lua-5.2.3 注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变 2)在VS2010中新建一个静态库项目,项目命名为lua   a. 选择新建 Win32 console project   b. 在wizard界面选择 static Library;不选择Precomplied Header 3)往工程中添加代码  ...

Lua中的__index方法详解

当我们访问一个表的不存在的域,返回结果为nil,这是正确的,但并不一定正确。实际上,这种访问触发lua解释器去查找__index metamethod:如果不存在,返回结果为nil;如果存在则由__index metamethod返回结果。这个例子的原型是一种继承。假设我们想创建一些表来描述窗口。每一个表必须描述窗口的一些参数,比如:位置,大小,颜色风格等等。所有的这些参数都有默认的值,当我们想要创建窗口的时候只需要给出非默认值的参数即可创建...

cocos lua绑定感悟---tolua_isusertable及lua如何访问cocos静态函数的方法【代码】

现在还是个新手,对很多还不是很了解,所以语言估计会有点晦涩,望原谅啊!!<pre name="code" class="html">TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err) {if (def && lua_gettop(L)<abs(lo))return 1;if (lua_isusertable(L,lo,type))return 1;err->index = lo;err->array = 0;err->type = type;return 0; }static int lua_isusertable (lua_State* L, int lo, const...

改进cocos2dx中lua读ccb的方法【代码】【图】

cocos2dx自带的CCBProxy真弱,还好提供了一个CCBReaderLoader.lua,但是也不好用, 于是修改了一下CCBReaderLoader,下面直接贴代码了。function NewCCBuilderReaderLoad(strFilePath,proxy,owner)ifnil == proxy thenreturnend--print("ccbnew")local ccbReader = proxy:createCCBReader()local node = ccbReader:load(strFilePath)local rootName = ""ifnil ~= owner then--Callbacks--print("ccb new callback")local own...

Lua cjson模块编译笔记及错误解决方法

使用文档:http://www.kyne.com.au/~mark/software/lua-cjson-manual.html 下载地址:http://www.kyne.com.au/%7Emark/software/download/lua-cjson-2.1.0.tar.gz编译时可能会报错,要修改Makefile文件: 我下载的是lua jit版本,改了以下#部分内容复制代码 代码如下: #LUA_INCLUDE_DIR = $(PREFIX)/include LUA_INCLUDE_DIR = $(PREFIX)/include/luajit-2.0/ #LUA_CMODULE_DIR = $(PREFIX)/lib/lua/$(LUA_VERSION) LUA_CMOD...

分布式缓存redis、lua优化、单品限流、购买限制、抢购方法幂、抢购失败回滚、雪花算法、IP限流防刷

分布式缓存redis 参考: Redis中文官方网站 主要作用 在多台服务器做集群是共享内存 此项目是在秒杀聚合服务做集群时用来存储库存 lua优化 单品限流 购买限制 抢购方法幂 抢购失败回滚 雪花算法 IP限流防刷

另外一种搭建nginx_lua环境的方法

使用大牛 ZhangYichun(http://openresty.org/) 提供的集成包快速安装。非常简单,下载 ngx_openresty,该集成包中有:Nginx,Lua或Luajit,ngx_lua,以及一些有用的Nginx第三方模块。例如:nginx的第三方模块redis,这个包实质就是一个.lua文件,是个库文件,提供一些访问redis的接口:将其下载下来: git clone https://github.com/agentzh/lua-resty-redis.git拷贝:该包中,有一个 Lib 目录,将 Lib 目录下的文件和子目录拷贝至...

nginx+lua+redis使用方法

1、 安装建议下载openresty ,包比较全,安装简单方便; 下载地址 http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz2、编译安装tar xzvf ngx_openresty-1.7.10.1.tar.gz cd ngx_openresty-1.7.10.1 ./configure --with-luajit make make install3、修改nginx config - /usr/local/openresty/nginx/conf/nginx.conf # http段内添加下面引入redis支持:lua_package_path "/home/ngx_openresty-1.7.10.1/bundle/l...

一种openresty在init_by_lua_file阶段读取redis到共享内存的方法

前提: 关于 openresty 或者 ngx_lua 请参考:http://openresty.org/en/问题: 使用openresty读取redis内的数据时,在init_by_lua_file中是不能连接redis的,所以有时候只能在rewrite或者access阶段读取redis数据,用什么办法在初始化阶段读取呢?解决办法:采用在init阶段调用shell命令的方法,相当于在init阶段,执行一个shell命令,读取redis数据,把读取的文本数据进行解析,即可以实现读取redis数据到nginx中举...