之前一直用xml填配置, cocos2dx自带了xml解析接口, 非常方便. 但是, 接口好用也改变不了xml的结构字符太多, 书写麻烦, 乱七八糟的事实. 很早就想换lua, 无奈引擎没有现成接口, 也一直拖到今天. inline ccValue parseTable(lua_State *lua) { ccValue value; ccValue result; lua_pushnil(lua); != lua_next(lua, -)) { )) { case LUA_TBOOLEAN:…
本文基于自身理解进行输出,目的在于交流学习,如有不对,还望各位看官指出. DI DI-Dependency Injection,即"依赖注入":对象之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个对象注入到对象属性之中.依赖注入的目的并非为软件系统带来更多功能,而是为了提升对象重用的频率,并为系统搭建一个灵活.可扩展的框架. 使用方式 首先看一下常用依赖注入 (DI)的方式: function Inject(target: any, key: string){ targe…
Cocos2d-x 脚本语言Lua基本数据结构-表(table) table是Lua中唯一的数据结构.其它语言所提供的数据结构,如:arrays.records.lists.queues.sets等.Lua都是通过table来实现.而且在lua中table非常好的实现了这些数据结构. --摘自:<Programming in Lua> 看下面代码,能够非常清晰的明确Lua中表的使用: -- Lua中的表,table Config = {hello="Hello Lua",w…
cocos2d-x lua table数据存储 version: cocos2d-x 3.6 1. 将table转为json http://blog.csdn.net/songcf_faith/article/details/46389157 http://www.cnblogs.com/songcf/p/4556773.html 1) 引入json库 require("src/cocos/cocos2d/json") 2) 使用json -- table转json local jso…
cocos2d-x lua table与json的转换 version: cocos2d-x 3.6 1.引入json库 require("src/cocos/cocos2d/json") 2.使用json function testJson() local beginTime = os.time() local testTable = {} -- [ -- { -- "UserId": "1234567890", -- "Name&q…
先来看lua table源码长度获取部分(ltable.c) j是数组部分的长度.首先判断数组长度大于0,并且数组最后一个是nil,就用二分法查找,返回长度. 如果t->node是 table的hash部分存放,如果是空,就返回数组的长度. 情况1. 对于这种,初始化了数组长度,t的长度是7,为什么呢.因为最后一位不是nil 所以 这种t的长度就是5 情况2. 大家都应该知道 t的长度是5 这样的话,t的长度是多少呢??? 答案是2,为什么呢? 对于t[6]的插入,导致table表rehash…
前一阵子在做联系人的导入功能,使用POI组件解析Excel文件后获取到联系人列表,校验之后批量导入.单从技术层面来说,导入操作通常情况下是一个比较耗时的操作,而且如果联系人达到几万.几十万级别,必须拆分成为子任务来执行.综上,可以使用线程池来解决问题.技术选型上,没有采用已有的 ThreadPoolExecutor 框架,而使用了自制的简易版线程池.该简易版的线程池,其实也是一个简易版的[生产者-消费者]模型,任务的加入就像是生产的过程,任务的处理就像是消费的过程.我们在这里不去讨论方案的合理性…
目标 参考 https://cn.vuejs.org/v2/guide/reactivity.html 使用 Typescript 编写简易版的 vue 实现数据的响应式和基本的视图渲染,以及双向绑定功能. 测试代码中,编写vue.js是本篇的重点,基本使用方法与常规的Vue一样: <div id='app'> <div>{{ person.name }}</div> <div>{{ count }}</div> <div v-text='…
前言 之前在 上篇 提到过会实现一个简易版的 IoC 和 AOP,今天它终于来了...相信对于使用 Java 开发语言的朋友们都使用过或者听说过 Spring 这个开发框架,绝大部分的企业级开发中都离不开它,通过 官网 可以了解到其生态非常庞大,针对不同方面的开发提供了一些解决方案,可以说 Spring 框架的诞生是对 Java 开发人员的一大福利,自 2004 年发布以来,Spring 为了解决一些企业开发中的痛点先后引入了很多的特性和功能,其中最重要的就是我们经常听到的 IoC 和 AOP…
前言 本文是「如何实现一个简易版的 Spring」系列的第二篇,在 第一篇 介绍了如何实现一个基于 XML 的简单 Setter 注入,这篇来看看要如何去实现一个简单的 Constructor 注入功能,实现步骤和 Setter 注入是一样的"套路",先设计一个数据结构去解析表达 XML 配置文件里的信息,然后再使用这些解析好的数据结构做一些事情,比如这里的 Constructor 注入.话不多说,下面我们直接进入正题. 数据结构设计 使用 Constructor 注入方式的 XML…