lua学习笔记(十一)】的更多相关文章

Lua 学习笔记 入门级 一.环境配置 方式一: 1.资源下载http://www.lua.org/download.html 2.用src中的源码创建了一个工程,注释调luac.c中main函数,生成了一个exe,直接可以测试lua了 方式二(推荐): 从https://code.google.com/p/luaforwindows/ 下载“LuaForWindows_v5.1.4-46.exe”,一键安装即可  二.执行 lua xxx.lua 三.注释 1.行注释格式:-- 2.块注释格式…
Lua学习笔记 1.lua的优势 a.可扩张性     b.简单     c.高效率     d.和平台无关 2.注释 a.单行注释 --        b.多行注释 --[[  --]] 3.类型和值   8个基本类型,检测变量类型用type  a.nil         print(type(nil))  -->nil         全局变量没有赋值以前,会被默认nil类型 b.boolean     print(type(true)) -->boolean       除了false和…
    曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有.     新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项目啦,只是为什么仅仅有一类Appdelegate类呢?哈哈,我相信聪明的你一定猜到了,伦家其它代码都下载lua里面了,在C++中调用就能够了,如今就来看看C++是怎样调用Lua脚本的吧.     说下我用的Lua版本号是5.2.3,系统是Linux.为什么是Linux呢,学编程最好是Linux啦,一…
Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变量 但coroutine又和多线程程序不同,首先一个多线程程序可以同时运行多个单线程,但协同程序只能串行,也就是说同一时刻只能有一个协同程序在运行,并且这个协同程序将一直占用处理器直到被显式的挂起. 基本的函数 coroutine.create(f) 创建一个协同程序,返回coroutine, f是…
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_NO_WARNINGS LUA_BUILD_AS_DLL   (艹了个地街...这TM就是个坑——这是因为在luaconf.h文件中定义了LUA_BUILD_AS_DLL宏,它控制了__declspec(dllexport)和__declspec(dllimport)的定义,必须加上这个开关才有这两…
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建列表三种方式:1.member = ["zdz","liufeng","hots"],2.number = [1,2,3],#3.混合型 mix = [1,'zdz',3.12,[1,2,3]] 4.空列表 empty = []#向列表添加使用app…
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 切片可以使用make函数来定义,也可以像变量声明一样创建个未指定大小的切片. var x []int = make([]int, 3); y := make([]int, 3); z := []int {1, 2, 3}; make有三个参数,第一个是类型(数组类型,所以带方括号),第二个是长度l…
Lua学习笔记:面向对象 https://blog.csdn.net/liutianshx2012/article/details/41921077 Lua 中只存在表(Table)这么唯一一种数据结构,但依旧可以玩出面向对象的概念. 添加成员函数 好吧,如果熟悉 C++ 还是很好理解类似的进化过程的:如果说 struct 里可以添加函数是从C 过渡到 C++ 的第一认识的话,为 Table 添加函数也可以算是认识 Lua 是如何面向对象的第一步吧.   player = { health =…
Lua学习指南:http://www.lua.org/manual/ 首先我们要明确的一点是:在Lua中,除了关键字外一切都是变量. Lua关键字 可以查看这个地址:http://www.lua.org/manual/5.1/manual.html#2.1 关于分号 语句的最后可以用分号";"表示结束,也可以不写. 而对于一行有多个语句的情况下,语句之间可以用分号";"隔开,也可以用空白隔开.一般来说,建议总是用分号隔开. 使用注释 单行注释使用“--”即可,以后的…
1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScript构造函数调用的语法是允许省略实参列表和圆括号的. 如: var o=new Object(); //->等价于 var o=new Object;   第四种:使用call()与apply()间接调用(放在后面详细说明)   2.函数的实参与形参——可选形参 先看一个例子: function g…
灯光的测试例子:光源参数可以调节的测试场景 先看一下测试场景和效果. 场景中可以切换视图, 以方便观察三维体和灯光的位置.环境光,漫射光,镜面反射光都可以在四种颜色间切换. 灯光位置和摄像机位置(LookAt)可以输入数值或者点动调节,也可以按键盘的QEWASD六个键进行调节. 你还会注意到:球体对光的效果要敏感柔和些,而那个六面体BOX看来效果不好.这是因为灯光对顶点发生作用.在程序里面,球休的顶点数量有20*10,而BOX只有4*6个,而且还重合了一些顶点. 这一点,在3dsmax的全局光照…
在Lua中的每个值都有一套预定义的操作集合.例如可以将数字相加,可以连接字符串,还可以在table中插入一对key-value等.但是我们无法将两个table相加,无法对函数作比较,也无法调用一个字符串.      但是,Lua提供了元表与元方法来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作.例如,假设a和b都是table,通过元表可以定义如何计算表达式a+b.当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是否有一个叫__add的字段.如…
  面向对象编程    对象的实现     在lua中table就是一种对象         1.有自己的状态         2.有自己的唯一标识self         3.有自己的生命周期     使用table可以自己实现面向对象的几乎所有特性     把函数定义在table中,并使用t.func的形式访问,如同方法调用     Account = {balance=0}     function Account.withdraw(v)         Account.balance =…
学习了有一周多了.之前一直不想献丑,但还是记录下这个过程. 第1章  开发软件搭建 1. ubuntu 下lua安装 sudo apt-get install lua5.1 2.win下的环境搭建. 我选择的是Lua For Windows.一键安装.保存为LUA格式即可运行 预计在Linux下 开发工具 用 sublime_text,实际使用notepadqq,个人喜好无所谓. 第1章  语法学习 1.1  语法学习 Lua -i filename 开启调试. dofile (“filenam…
工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗略的介绍,lua语言本身的东西介绍的比较少,前者是比较基础的书,不过可能自己笔记愚笨,lua的环境配置折腾了半天,后面找到了lua_windows的安装版本,才解决换台电脑就满脑子的恶心.lua语言主要面向脚本,通过配置来实现系统的灵活性,现在也有很多游戏核心采用C/C++实现,逻辑部分采用lua或者其他脚本…
一.lua安装和编程环境搭建 lua语言可以在官网:http://luadist.org/下载安装包安装,编程IDE之前学习使用的是SciTE(https://www.cnblogs.com/movin2333/p/14348703.html),这个IDE安装时会一并安装lua,当然,vscode.idea.luaStudio等IDE也可以编写lua,这次使用SublimeText编写lua,SublimeText的内地官网:http://www.sublimetext.cn/. 二.lua语法…
Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热更新技术,选择ULua方案,因此准备学习一些Lua的基础知识.之前在Ubuntu上曾经写过Lua版本的"HelloWorld", 但那时的环境搭建只需要下载源码,然后 make & make install 就可以了,但一到Windows下就完全不会做了.经过网络查找对比,得到目前…
一直以来对Lua热更新技术很感兴趣,在上周开始了对Lua的学习,主要学的是uLua. 直接上干货 准备工作: LuaInterface包括两个核心库一个是LuaInterface.dll,一个是Luanet.dll,我们可以通过LuaInterface完成Lua和C#(CLR)之间的互相调用 需要在vs的工程中导入两个dill分别是LuaInterface.dll和luanet.dll,前者是vs调用lua时需要引用,并在vs的工程中引入命名空间using LuaInterface;引用以后就可…
Lua是一个小巧的脚本语言.Lua由标准C编写而成,代码简洁,几乎在所有的操作系统和平台上都可以编译,运行. 主要讲一下mac和win下的环境搭建. 工具:      1.Sublime Text 2      2.LuaForWindows_v5.1.4-46.exe      3.lua-5.1.4.tar.gz(Mac) 一.Win7下安装 为了方便开发,借助于Sublime Text 2来学习和运行lua文件,当然Sublime Text 2也是我最喜欢和最强大的文本编辑器,完全可以用来…
 欢迎装载请说明出处: http://blog.csdn.net/yfqnihao/article/details/8271665 这一节,我们要学习的是访问控制器,在阅读本节之前,如果没有前面几节的基础,对你来说可能会比较困难! 本节实验源码下载:http://download.csdn.net/detail/yfqnihao/4863854 知识回顾: 我们先来回顾一下前几节的内容,在笔记三的时候我们学了类装载器,它主要的功能就是装载类,在装载的前后,class文件校验器会对class文件进…
Cocos2d-x 3.0超过环境的版本号来建立和前Cocos2d-x 2.0 差异较大的版本,从同时Cocos2d-x 3.0项目打包成apkAndroid的应用程序文件,步骤,构建环境有些乏味安德鲁斯,但是,一旦建立后,.未来将很快!OK,发环境吧! 1.cocos2d-x环境的设置以及android的环境搭建 1.下载cocos2d-x 3.0正式版 2.下载android的sdk以及ndk 3.下载ant (注:cocos2d-x的环境变量配置须要用到ant.主要是android须要使用…
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷!OK,现在就开始搭建环境吧! 1.cocos2d-x环境的设置以及android的环境搭建 1.下载cocos2d-x 3.0正式版 2.下载android的sdk以及ndk 3.下载ant (注:cocos2d-x的环境变量配置需要用到ant,主要是android需要使用到它)…
这一段时间看了<programming in lua>中的第28章,看一遍并不是很难,但是只是朦胧的感觉,雾里看花,水中望月.最终还是决定敲出来自己看看,练练手,结果受益不少,也遇到了一些问题,记在这里.自己做一个总结,也希望能帮助和我一样lua的初学者. 1. 书上并没有写清楚对于CAPI的制作和使用内容.主要包括dll的生成,以及使用 (1)dll生成. 直接用vs新建一个dll工程,要记得包含依赖路径.如下图所示,包含你的lua安装路径. 工程名要和库的最终名字一致(默认是一致的).lu…
在这节课的开始,按照国际惯例,一般学习一门新的语言,都是要打印出“Hello,world”,那么我们也不例外. Lua语言的打印跟其他语言一样,只要print(“Hello,World”),然后保存为hello.lua文件,接着我们命令运行% hello.lua这样就可以执行了. 接着我们学习一下复杂点的方法,在lua中定义一个函数: function fact(n) then else ) end end print(“enter a number”); a = io.read(“*numbe…
插入两个网站: nginx + lua 的OpenResty 开发 跟我学OpenResty(Nginx+Lua)开发目录贴 两个都是 可以根据目录一步步学习的. 1. 版本下载 nginx版本为 nginx-1.10.3 , http://nginx.org/en/download.html 下载nginx 版本,不要高版本的,编译lua模块会有错误,暂时不知道原因. 放一个目录./home/test/ lua_nginx_module模块版本 lua-nginx-module-0.10.2,…
一.lua函数赋值与函数调用         在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过这个变量来调用这个函数. foo = * end; --标准用法,函数赋值 * x end; --常见用法,等价于上面 如果函数只是作为另外函数的参数或者子函数块时,即不涉及到外部调用时,不需要赋值(命名),可以直接使用 network = { {name = "lilei", ip =…
游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中.…
1.C# 与 LUAC#调用LUA比较简单,但LUA调用C#,有两种方法,一种是直接反射调用,但这种方法有局限性,比如性能低,在IOS平台无法使用反射,因此一般使用WARP方法,即把C#代码注册到LUA虚拟机,然后调用的时候,LUA -> C# WARP -> C# CODE参考:http://blog.csdn.net/pengdongwei/article/details/50420612 2.LUA变量Lua是动态类型语言,变量不要类型定义,只需要为变量赋值就会创建这个变量Lua 变量有…
在Lua中的table不是一种简单的数据结构,它可以作为其他数据结构的基础.其他语言提供的数据结构,如数组.记录.线性表.队列.集合等,在Lua中都可以通过table来表示.而且使用Lua实现这些数据结构的效率高.   一.数组            在Lua中数组没有固定的大小,可以根据需要增加长度.当初始化数组时,也就间接的定义了它的大小.     二.矩阵与多维数组        在Lua中,有两种方式来表示矩阵,一种是使用一个“数组的数组”,也就是数组中的元素是数组.另一种方式就是合并索…
协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行.也就是说多个协同程序在任意时刻只能运行一个协同程序,只有当正在运行的协同程序显式的要求挂起时,它的执行才会暂停.   一.协同程序coroutine        Lua将所有关于协同程序的函数放置在一个名为“coroutine”的table…