工作后,整个人已经比較松懈了.尽管一直在看lua的源代码.可是一直是比較零碎的时间,没有系统的整理,所以还是收获不多.由于近期工作也不是非常忙了,就想整理下lua的源代码学习的笔记.加深下印象,并分享给大家. 先说下这系列bolg我会每周更新2-3篇,没有顺序的 这些文章都是自己的浅薄的理解.有什么错误,还请各位拍砖赐教. 1.关于c语言函数的声明 相信大家都知道接口的重要,在lua中.假设要调用c语言的函数,就必需要有一个统一的函数声明: typedef int (*lua_CFunction…
聊聊redis执行lua原理 从一次面试场景说起   "看你简历上写的精通redis" "额,还可以啦" "那你说说redis执行lua脚本的原理" "这个,这个,不就是那么执行的吗,eval 一段lua脚本就行了" "好的,了解了,今天面试先到这个吧,后续有消息会通知你" "好的,祝您生活愉快" 面试场景纯属娱乐,但这个面试题确实是笔者真实遇到过的,今天我们就来看看redis执行lua…
Lua笔记 容易与C/C++整合 Lua所提供的机制是C所不善于的:高级语言,动态结构,简洁,易于测试和调试. Lua特有的特征: `1:可扩展性.卓越的扩展性导致了很多人将Lua用作搭建领域语言的工具. `2:简单.内容少,功能强大.易于学习 `3:高效率:很高的执行效率 `4与平台无关:几乎可以运行在所有的系统上.Lua不是通过使用条件编译实现平台无关,而是完全使用ANSI(iso)C,这就意味着只要有ANSIC编译器就能编译并使用Lua. Lua大部分强大的功能来自于类库,Lua长处之一就…
Lua本学习笔记功能 1.  函数返回 指定任务的主要功能是完成,在这种情况下,函数被用作调用语句.函数可以计算并返回值,在这种情况下,作为分配值表达式语句使用. 语法: funcationfunc_name(arguments-list) Statements-list end 调用函数的时候,假设參数列表为空,必须使用()表示是函数调用. Print(8*9,9/8) a = math.sin(3) +math.cos(10) print(os.date()) 上述规则有一个例外.当函数仅仅…
#!/home/auss/Projects/Qt/annotated/lua -- 这是第一次系统学习Lua语言 --[[ 参考资料: 1. [Lua简明教程](http://coolshell.cn/articles/10739.html) 2. [Lua基础 类型和值](http://blog.csdn.net/wzzfeitian/article/details/8292130) 3. [Lua Reference Mannual](http://www.lua.org/manual/5.…
Redis源码学习:Lua脚本 1.Sublime Text配置 我是在Win7下,用Sublime Text + Cygwin开发的,配置方法请参考<Sublime Text 3下C/C++开发环境搭建>. 要注意的是:在Cygwin中安装Lua解析器后,SublimeClang插件就能识别出可饮用的Lua头文件了,因为Build System中我们已经配置过"-I", "D:\\cygwin64\\usr\\include",而新安装的Lua头文件会…
Lua 是用标准C语言编写并以源代码形式开放的一种轻量小巧的脚本语言,设计目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能. lua官网 http://www.lua.org/ 安装lua curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz .tar.gz cd lua- make linux test make install 如果在make linux test 这步出现问题 lua.c:80:31: 致命错误:readline/…
众所周知,Lua是一种强大的脚本语言,并且这种语言是用C语言实现的.为什么要学习这门语言?因为它可以增强我看C语言代码的功底. 我下的Lua版本是Lua5.3,关于Lua5.3的简介如下: http://www.runoob.com/manual/lua53doc/ Lua语言源码发布网站如下:http://www.lua.org/ftp/ 下好了,该怎么编译?打开Makefile,于是看到关键的一行: PLATS= aix bsd c89 freebsd generic linux macos…
一.Lua 模块与包 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度. 1.定义-- 文件名为 module.lua-- 定义一个名为 module 的模块module = {} -- 定义一个常量module.constant = "这是一个常量" -- 定义一个函数function module.func1() io.write("…
© 版权声明:本文为博主原创文章,转载请注明出处 Lua数据类型 - Lua是动态类型语言,不需要为变量定义类型,只需要为变量赋值 - Lua有8中基本数据类型:nil.boolean.number.string.userdata.function.thread.table 1.nil(空) - nil类型表示空指针,相当于java中的null - 将变量或者table表里的变量赋值为nil,表示销毁该变量 1.1 nil.lua print(type(a)) --未声明该变量,nil a =…
© 版权声明:本文为博主原创文章,转载请注明出处 Lua基本语法: 1.--表示单行注释 2.--[[--]]表示多行注释 3.Lua区分大小写 4.Lua中变量默认是全局变量,除非用local显式声明成局部变量 5.nil表示空 6.将变量值赋为nil,表示删除该变量 实例: 1.basicGrammar.lua --输出 print("Hello Lua") --[[ Lua区分大小写 Lua变量默认是全局变量 Lua用local显式声明局部变量 Lua用nil表示空 --]] f…
一.lua函数 1.在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作,也可以用来计算一些值.Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上.Lua 函数主要有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用:2.计算并返回值,这种情况下函数作为赋值语句的表达式使用. 2.Lua 编程语言函数定义格式如下:optional_function_scope function function_…
语法格式(常见) a = 5 -- 全局变量 local b = 5 -- 局部变量 Eval的使用 EVAL script numkeys key [key ...] arg [arg ...] 首先大家一定要知道eval的语法格式,其中: <1> script:     你的lua脚本 <2> numkeys:  key的个数 <3> key:         redis中各种数据结构的替代符号 <4> arg:         你的自定义参数 ok,可…
这几天研究了一下lua,主要关注的是lua和vc之间的整合,把代码都写好放在VC宿主程序里,然后在lua里调用宿主程序的这些代码(或者叫接口.组件,随便你怎么叫),希望能用脚本来控制主程序的行为.这实际上也是一种把业务分离,用脚本控制的架构,可能有些人把这种脚本叫做业务引擎,工作流等. 为什么选择lua? 因为它是一个能和C/C++结合得很紧的脚本语言,而我们的程序是用VC++ 写的:另外一点是因为它的名气,连WOW都用lua来提供API让玩家修改其游戏行为,那我是找不到什么理由拒绝它了. Lu…
重点文章: 1.[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 2.[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(中) 3.Lua和C++交互详细总结 4.LuaInterface简介 5.不同版本Lua介绍 6. C#与Lua相互调用 7.在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理 8.Unity3D 预备知识:C#与Lua相互调用 9. Lua for Windows 开始学习Lua编程 10.腾讯开源手游热更新方案,Unity3D下…
Requirments:     1: The Lua Sources.    2: A C compiler - cc/gcc/g++ for Unix, and Visual C++ for Windows. Other compilers should under Windows, basically any C compiler - I will cover compiling under Windows at the end of the toturial.This tutorial…
                                                               JDK源代码学习系列07----Stack 1.Stack源代码很easy package java.util; public class Stack<E> extends Vector<E> { // 版本号ID.这个用于版本号升级控制,这里不须理会! private static final long serialVersionUID = 1224463…
Django REST framework JWT djangorestframework-jwt自带的认证视图进行用户登录验证源代码学习 SECRET_KEY = '1)q(f8jrz^edwtr2#h8vj=$u)ip4fx7#h@c41gvxtgc!dj#wkc' 定期动态生成SECRET_KEY 字符串导包   https://blog.csdn.net/chaoguo1234/article/details/81277590 安装配置 安装 pip install djangorest…
本博主不擅于进行文字创作,所以,相当一部分文字皆复制于其他博文.还希望能够得到谅解.  一.Lua语言简介 Lua是一个免费的开源软件,可以免费用于科研及商业.Lua具有一个专家团队在维护和升级,其设计旨在项目中扩展功能,因此其内核小而稳定.在游戏开发中,Lua在用户界面.游戏数据管理.实时游戏事件管理.游戏人工智能.创建功能原型等方面具有强大的支持.Lua不能直接访问数据库,但可以通过整合其他语言组件来访问数据库:对于一些耗时要求更高效率的工作,一般交给更加底层的语言去完成,Lua只是起到整合…
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下使用InfluxDB的HTTP API进行数据查询操作的过程.更多InfluxDB详细教程请看:InfluxDB系列学习教程目录 InfluxDB技术交流群:580487672(点击加入) 一.说明 官方文档上介绍说,使用HTTP API进行查询是比较初级的一种方式.推荐使用第三方语言库和客户端管理…
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex "/api/Contact?sex=" + sex GetContactByID /api/Contact/"+id ASP.NET MVC Web API 学习笔记---第一个Web API程序 2012-10-12 09:56 by 贺臣, 32252 阅读, 30 评论,…
看struts2源代码已有一段时日,从今天開始,就做一个总结吧. 首先,先看看怎么调试struts2源代码吧,主要是下面步骤: 使用Myeclipse创建一个webproject 导入struts2须要的jar包 如图: 让jar包关联源文件 在上图中的jar包右键,选择properties->java source attach,假设关联成功,双击jar包下的某个class文件就会显示java源码了. 双击.class文件,在源码关键地方设置断点 部署project到Tomcat Tomcat…
简单地画了下 LinkedList 的继承关系,如下图.只是画了关注的部分,并不是完整的关系图.本博文涉及的是 Queue, Deque, LinkedList 的源代码阅读笔记.关于 List 接口的笔记,可以参考上一篇博文 List / ArrayList - 源代码学习笔记 Queue 1. 继承 Collection 接口,并提供了额外的插入.提取和查看元素的方法.新增的方法都有两种形式:当操作失败时,抛出异常或者返回一个特殊值.特殊值可以是 null 或者 false ,这取决于方法本…
前面2篇分别简单介绍 手动bind C++ 类和lua:http://blog.csdn.net/chenee543216/article/details/12074771 使用tolua++简化工作:http://blog.csdn.net/chenee543216/article/details/12172563 这篇简单聊聊 cocos2dx. 一.基本概念 所谓的lua绑定,其实目的就是导出C++的接口给lua,使得在lua中可以操作C++: 而lua和C/C++的唯一官方接口是stac…
开源中国安卓client源代码学习(一) 渐变启动界面 准备学习安卓开发, 看到网上有人推荐开源中国安卓client的源代码, 说里面包括了大部分技术, 于是准备好好研究研究. 特开通此系列博客来记录学习过程. 因为是在学习, 经验不足, 里面肯定有非常多不正确的地方, 望大家指正. 到这里下载源代码包,开发环境为Linux下Eclipse,导入源代码后有可能会出现android.webkit.CacheManager找不到的错误, 原因是这个类在4.0以上版本号的SDK被删除了, 仅仅要下载4…
读Flask源代码学习Python--config原理 个人学习笔记,水平有限.如果理解错误的地方,请大家指出来,谢谢!第一次写文章,发现好累--!. 起因   莫名其妙在第一份工作中使用了从来没有接触过的Python,从那之后就对Python有了莫名其妙的好感.前段时间用了Flask做了几个不大不小的项目,项目过程中学到不少以前没注意到的知识点.于是就有了这个系列,希望最后能坚持完成. Flask是什么?   根据Flask官网介绍: Flask 是一个用于 Python 的微型网络开发框架.…
nginx源代码学习是一个痛苦又快乐的过程,以下列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源代码,能够从nginx官方站点下载一份最新的. 看了nginx源代码,发现这是一份全然没有凝视,全然没有配置文档的代码. 如今你最希望要的是一份凝视版的nginx源代码,能够从以下的链接中下载一份: https://github.com/jianfengye/nginx-1.0.14_comment 这份凝视版源代码会不断进行更新的 好了,第一个问题, nginx的main函数在…
Android学习开发中如何保持API的兼容: 1,采用良好的设计思路 在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久 面向用例的设计,收集用户建议,把自己模拟成用户,保证API设计的易用和合理 保证后续的需求可以通过扩展的形式完成 第一版做尽量少的内容,由于新需求可以通过扩展的形式完成,因此尽量少做事情是抑制API设计错误的一个有效方案 对外提供清晰的API和文档规范,避免用户错误的使用API,尤其是避免API(见第一节)靠后级别的API被用户知晓与误用 除此之外,下面…
                                                                         JDK源代码学习系列04----ArrayList 1.ArrayList简单介绍 ArrayList是基于Object[] 数组的,也就是我们常说的动态数组. 它能非常方便的实现数组的添加删除等操作. public class ArrayList<E> extends AbstractList<E> implements List<…
2017年3季度后,以人力外包的形式派驻到甲方单位进行项目救急时,接触到了甲方单位的ASP.NET MVC项目的ORM框架,它以PetaPoco(2012年的老版本)进行改造升级的,当初就想学习一下这个小型的ORM框架,但是一直没有机会切入,目前,项目不是太紧张,想起此框架,因此,决定以此为目标,对该框架进行深入学习,希望能够坚持下来,学习框架里的编程思想来提高自己. 将该贴作为系列博文的索引页,同时也算是对自己的一个监督. 注:该源代码学习计划可能比较杂乱,没有系统性,关键是坚持,并理解其编程…