lua实现简单】的更多相关文章

原文:http://www.2cto.com/net/201608/534272.html 安装LuaJIT http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar xf LuaJIT-2.0.4.tar.gz cd LuaJIT-2.0.4 make && make install 即可 下载ngx_devel_kit https://codeload.github.com/simpl/ngx_devel_kit/zip/master unz…
MessageManager.lua local messageManager = {mEventTable = {},mEventUserData = {}} --注册事件function messageManager.Add(EventName,Func,UserData) assert( Func ) messageManager.mEventTable[ EventName ] = messageManager.mEventTable[ EventName ] or {} local E…
function table.count(t) if type(t) ~= "table" then assert(false) return end for k, _ in pairs(t) do n = n + end return n end local t = { x1 = "hello", x2 = "world", [] = "x1111", } print(table.count(t)) t.x1 = nil c…
首先,感谢 runoob.com:http://www.runoob.com/lua/lua-tutorial.html 直接用 SciTE 进行文本编辑,F5调试,非常方便. 注意点: 1. 变量的作用域:全局变量.局部变量- local 声明,do - end 可以用于划分作用域. 2. 对多个变量赋值要逐个赋值,不可 a, b, c = 0.必须是 a, b, c = 0, 0, 0. 3. 运算符居然不能用 “++”.“+=”,其他都跟C/C++类似. 4. 流程控制: i = ) do…
需求背景 类似于论坛型的网站经常会被黑掉,除了增加硬件防护感觉效果还是不太好,还会偶尔被黑,waf的功能正好实现了这个需求. waf的作用: 防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击 防止svn/备份之类文件泄漏 防止ApacheBench之类压力测试工具的攻击 屏蔽常见的扫描黑客工具,扫描器 屏蔽异常的网络请求 屏蔽图片附件类目录php执行权限 防止webshell上传 nginx 的话我选择春哥开源的:OpenResty一个伟大的项目. OpenR…
Set = {} Set.mt = {}--定义普通的表作为元表,为了避免命名污染直接放在Set内部 function Set.new(t) local set = {} setmetatable(set, Set.mt)--一组相关的表共享一个metatable(通过这个可以描述他们共同的行为),一个表也可以是自身的metatable(描述私有行为) for _, l in ipairs(t) do set[l] = true end return set end function Set.u…
-- 类的例子,长方形的类,具备一个打印面积方法和一个设置长宽的方法 --lua实现类的思路,定义出来的对象在lua中可以访问自己有的成员,访问成员函数实际上是通过元表的__index方法实现的,具体点就是访问自己的成员函数,发现没有函数,然后判断是否有元表和__index元方法(当然都有,而且是必须有),然后就变成了访问元表也就是类的成员,自然就访问了成员函数 Cfx = { m_chang = , m_kuan = , m_area = } Cfx.__index = Cfx functio…
--[[ 贪吃蛇 ]] local RetroSnaker = class("RetroSnaker", function() return cc.Layer:create(); end ) local Obj = require("cocos.Packaging_Kernel") local Snake = { ["UP"] = { }, ["DOWN"] = { }, ["LEFT"] = { }, […
1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Redis下载地址:wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.安装依赖包 yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl…
参考:https://eliasdaler.wordpress.com/tag/luabridge/ https://eliasdaler.wordpress.com/2015/08/10/using-lua-and-cpp-in-practice/ 1. ECS和基本原理介绍 本译文主要说明以下几点: 实体的创建和其他基本的东西(你正在阅读这篇文章了) 如何实现实体的创建 Lua状态管理和清理 脚本状态机 事件和回调 先看看c++代码创建实体: Entity e; auto gc = new…