Lua学习八----------Lua运算符】的更多相关文章

© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua运算符: - 算术运算符:+(加法).-(减法).*(乘法)./(除法-取整).%(除法-取余).^(乘幂).-(负号) - 关系运算符:==(等于).~=(不等于).>(大于).<(小于).>=(大于等于).<=(小于等于) - 逻辑运算符:and(逻辑与).or(逻辑或).not(逻辑非) - 其他运算法:..(连接两个字符串).#(计算字符串或表长度) 1.operators.lua a = 10 b = 4 c =…
众所周知,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环境搭建具体http://blog.csdn.net/liuwumiyuhuiping/article/details/9196435 为了方便学习. 具体新开始搭建一下学习的小框架. lib存放是 lua编译出来的动态库.Bin存放的是 应用程序 .test存放的就是lua 的测试文件.LuaSrc就是我们的源码了.LuaSrc 里面包含了两个工程一个是Luasrc 和LuaScriptMg . 可以从一下地址下载我配置好的工程.http://download.csdn.net…
在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.Lua没有类的概念,但我们可以模拟类. 我们首先看看元表和元方法.这两个东西和我们模拟类有关. Lua 本身是函数式的语言,但借助 metatable (元表)这个强大的工具,Lua 实现操作符重载易如反掌.就像两个表相加,只要我们在元表中写上__add方法就可以实现了. meta={ __add=f…
© 版权声明:本文为博主原创文章,转载请注明出处 Lua迭代器 - 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址 - Lua迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素 泛型for迭代器 - 泛型for的执行过程: 1)初始化,计算in后面表达式的值,表达式应该返回泛型for需要的三个值:迭代函数.状态常量.控制变量:个数不足用nil补充,多余忽略 2)将状态常量和控制变量作为参数调用迭代函数(对于for…
© 版权声明:本文为博主原创文章,转载请注明出处 1.LUA数组 - 一维数组 - 多维数组 2.array.lua -- 一维数组 print("一维数组") array1 = {"Lua", "Tutorial"} for i = 0, 2 do print(array1[i]) end -- 二维数组 print("二维数组") array2 = {} for i = 0, 3 do array2[i] = {} for…
© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua字符串 - ''单引号间的一串字符 - ""双引号之间的一串字符 - [[]]之间的一串字符 2.Lua转义字符 3.字符串操作 - string.upper(argument):将字符串全部转换成大写 - string.lower(argument):将字符串全部转换成小写 - string.gsub(mainString, findString, replaceString, num):替换字符串 - mainString…
© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua函数 - 完成指定的任务,这种情况下函数作为调用语句使用 - 计算并返回值,这种情况下函数作为赋值语句的表达式使用 - Lua函数可以返回多个值 - Lua函数可以接口可变数目的参数 2.function.lua function max(num1, num2) -- 返回两个值的最大值 if(num1 > num2) then return num1 else return num2 end end local num1 = 10 l…
© 版权声明:本文为博主原创文章,转载请注明出处 Lua流程控制 - 通过程序设定一个或多个条件语句 - 在条件为true时执行指定程序代码,在条件为false时指定其他指定程序代码 - 控制结构语句:if语句.if...else语句.if嵌套语句 1.if语句 - 语法:if(布尔表达式) then ...<条件为true时执行语句> end 2.if...else语句 - 语法:if(布尔表达式) then ...<条件为true时执行语句> else ...<条件为fa…
© 版权声明:本文为博主原创文章,转载请注明出处 1.循环类型 1.1 while循环 - 语法:while(condition) do ...<执行语句> end - 解析:判断condition是否为true,为true执行语句,false结束循环 1.2 for循环 1.2.1 数值for循环 - 语法:for var = exp1, exp2, exp3 do ...<执行语句> end - 解析:var从exp到exp2,步长为exp3(可选,默认为1):exp1,exp…
© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua变量 - 变量在使用前,必须在代码中进行声明,即创建该变量 - 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值 - Lua变量有三种类型:全局变量.局部变量.表中的域 - Lua中的变量全是全局变量,哪怕是语句块或是函数里,除非用local显示声明为局部变量 - 局部变量的作用域从声明位置开始到所在语句块结束. - 变量的默认值为nil 2.赋值语句 - 赋值是改变一个变量的值和改变表域的最基本的方法 -…
© 版权声明:本文为博主原创文章,转载请注明出处 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学习:lua作配置文件里,我们学会了用lua作配置文件. 其实lua在游戏开发中可以作为一个强大的保存.载入游戏数据的工具. 1.载入游戏数据 比如说,现在我有一份表单: data.xls 用什么工具解析这个Excel文件并将数据载入游戏? 我们可以使用Lua来完成这个工作.不过要先将表单保存为csv文件(数值用逗号隔开的文件). 从表单中,我们可以得知第一行是键名,剩下的行是数值.我们可以用下面的lua函数载入该csv文件并保存到表中. function GetLines(file…
一.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学习指南:http://www.lua.org/manual/ 首先我们要明确的一点是:在Lua中,除了关键字外一切都是变量. Lua关键字 可以查看这个地址:http://www.lua.org/manual/5.1/manual.html#2.1 关于分号 语句的最后可以用分号";"表示结束,也可以不写. 而对于一行有多个语句的情况下,语句之间可以用分号";"隔开,也可以用空白隔开.一般来说,建议总是用分号隔开. 使用注释 单行注释使用“--”即可,以后的…
一.基本知识 1.第一个程序: print("hello lua"); 在交互模式下直接运行: > print("hello lua") hello lua                  --输出 保存在文件中运行: $ lua hello.lua hello lua                   --输出 2.chunks: * 定义:trunks指运行的语句块,一个文件,一个函数或是运行模式下每行语句.语句组合都是trunks: * 语句之间的分…
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和…
下面讲一些lua 常见的用法和规则,可以为学习理解lua带来帮助,最后附上的部分是lua的基本操作,基本包含所有常用语法语句. 1. if判断 lua把 nil 和false 视为"假",其他都为"真" 2. 逻辑运算符 and or lua的and or 可以用来构成三元表达式,如下: > = 1 == 1 and 1 or 2 1 但如果是这样写,就不是你想要的结果了: > = 1 == 1 and false or true true 这是因为,a…
目录 数组操作 字符串操作 在c函数中保存状态 生活总需要一点仪式感,然后慢慢的像那个趋向完美的自己靠近. 数组操作 Lua中的数组就是以特殊的方式使用边.像lua_setttable and lua_gettable这种用来操作的通用函数,也可以用于操作数组,不过C API为使用整数索引的表访问和更新提供了专门的函数: 1 2 void lua_geti (lua_State *L, int index, int key); void lua_seti (lua_State *L, int i…
Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热更新技术,选择ULua方案,因此准备学习一些Lua的基础知识.之前在Ubuntu上曾经写过Lua版本的"HelloWorld", 但那时的环境搭建只需要下载源码,然后 make & make install 就可以了,但一到Windows下就完全不会做了.经过网络查找对比,得到目前…
今天开始学习lua  首先是搭建环境 和 我的hello world 首先 交代一下我用的是 Mac 系统 所以在Mac上安装lua 环境很方便的 lua  Mointain Lion - Lua 5.2.1 下载安装 http://rudamoura.com/luaonmacosx.html 下载直接安装, 没有什么命令格式  (Mac的安装方式都会把 嘻嘻) 就不截图了 安装完成可以在终端 测试一下 在安装ide 我在网上看了很多大牛的教程.都推荐  sublime text2 sublim…
一直以来对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也是我最喜欢和最强大的文本编辑器,完全可以用来…
这几天草草的浏览了一下电子版的<lua程序设计>,没有懂的地方就自动忽略了,挑拣了一些可以理解的部分一直在推进.推进至后面的时候已经浑浑噩噩的了,有种想看完这本书的强迫症的感觉.推进CAPI部分的时候发现难度一下子提升了,有种难以理解的感觉,而且这本书没有相对应的练习,只是看书没有进行相应的实践,确实难度比较大.这里先暂缓推进这本书的进程,决定拿一下小的项目来试试写lua代码的感觉,写完这个项目在回去体会lua程序设计这本书,这样可能效果会更好一些.这里我会列出项目描述,而且会记录完成这个项目…
工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗略的介绍,lua语言本身的东西介绍的比较少,前者是比较基础的书,不过可能自己笔记愚笨,lua的环境配置折腾了半天,后面找到了lua_windows的安装版本,才解决换台电脑就满脑子的恶心.lua语言主要面向脚本,通过配置来实现系统的灵活性,现在也有很多游戏核心采用C/C++实现,逻辑部分采用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.块注释格式…
最近打算学习quick cocos2dx,所以首先打算学习一下lua这门语言,Lua 是一个小巧的脚本语言,轻量级,便于扩展. Lua脚本基本的数据类型:nil.boolean.number.string.userdata.function.thread.table,table 是lua里的特殊数据结构,有些像C++里面的struct,又有些像class. nil类型表示空值,表示什么都没有. lua变量分为全局变量和局部变量,局部变量以local定义,如果没有用local定义就表示全局变量.…
macosx 安装 lua curl -R -O http://www.lua.org/ftp/lua-5.1.4.tar.gz tar zxf lua-5.1.4.tar.gz cd lua-5.1.4 make macosx sudo make install 进入lua方法: 输入lua回车 常用语句 print('Hello lua!'); io.write('Hello lua\n'); 基础类型: nil 空 boolean number string function table…
    曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有.     新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项目啦,只是为什么仅仅有一类Appdelegate类呢?哈哈,我相信聪明的你一定猜到了,伦家其它代码都下载lua里面了,在C++中调用就能够了,如今就来看看C++是怎样调用Lua脚本的吧.     说下我用的Lua版本号是5.2.3,系统是Linux.为什么是Linux呢,学编程最好是Linux啦,一…