Lua学习总结
由于一些工作上的需要,开始对Lua的学习。之前有JavaScript的基础,而且两者都是脚本语言,所以本总结旨在列出与JavaScript不同的地方,方便后续的回顾和学习。下面进入正题吧!
1、注释 :
单行注释:-- 多行注释:--[[ --]]
2、类型和值:
A、Lua会自动在String 和 numbers 之间自动进行类型转换,当一个字符串使用算数操作符(+-*/^-)是,string就会被转成数字。(默认,自动转)
print("10" + 1); -->11 print("10 + 1"); -->10 + 1 print("5" * "2"); -->10 print("Hello" + 1); -->Error(cannot convert "Hello")
B、当一个String 碰到数字时,期望将数字转成string ,可以使用 .. ,可以理解为, .. 操作符就是字符串连接符
print(10 .. 45); -->1045
C、[[ ....]]可以用来表示多行字符串,并且其中所包含的字符串不会解释转义序列,用来包含一段代码非常方便。
3、表达式:
A、逻辑运算符: and or not ,它认为false 和 nil 为假(false),其它的为真,0也是true;
实用技巧:
X = X or V ; --如果X为false或者nil,就给X赋初始值
C a ? b : c ; <--> Lua (a and b) or c;
B、Lua数组中的下表默认从 1开始,而非从0开始
4、赋值语句:
Lua可以对多个变量同时赋值,赋值语句右边的值会依次赋值给左边的变量; a , b = 10 , 2*5;
技巧:遇到赋值语句,Lua会先计算右边所有的值,然后在执行赋值操作。因此交换变量的值可以这样做: a[i] , a[j] = a[j] , a[i];
当变量个数和值个数不一致时,以变量个数为准;
Lua学习总结的更多相关文章
- [转]LUA 学习笔记
Lua 学习笔记 入门级 一.环境配置 方式一: 1.资源下载http://www.lua.org/download.html 2.用src中的源码创建了一个工程,注释调luac.c中main函数,生 ...
- Lua学习笔记(二):基本语法
Lua学习指南:http://www.lua.org/manual/ 首先我们要明确的一点是:在Lua中,除了关键字外一切都是变量. Lua关键字 可以查看这个地址:http://www.lua.or ...
- Lua 学习笔记(一)
Lua学习笔记 1.lua的优势 a.可扩张性 b.简单 c.高效率 d.和平台无关 2.注释 a.单行注释 -- b.多行注释 --[[ --]] 3.类型和 ...
- lua学习:使用Lua处理游戏数据
在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件. 其实lua在游戏开发中可以作为一个强大的保存.载入游戏数据的工具. 1.载入游戏数据 比如说,现在我有一份表单: data.xls ...
- Lua学习笔记6:C++和Lua的相互调用
曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...
- Lua学习笔记4. coroutine协同程序和文件I/O、错误处理
Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...
- nginx+lua学习
1. nginx+lua学习 1.1. 网关架构 1.2. nginx命令和信号控制 nginx -s stop 快速关闭,不管有没有正在处理的请求 nginx -s quit 优雅关闭方式,推出前完 ...
- (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...
- Lua学习笔记:面向对象
Lua学习笔记:面向对象 https://blog.csdn.net/liutianshx2012/article/details/41921077 Lua 中只存在表(Table)这么唯一一种数据结 ...
- lua学习之类型与值篇
类型与值 lua 是动态类型的语言 在语言中没有类型定义的语法 每个值都携带有它的类型信息 8种基础类型 用 type 可以返回这个值的类型的名称 将一个变量用于不同类型,通常会导致混乱的代码 但合理 ...
随机推荐
- 【2】【leetcode-105,106】 从前序与中序遍历序列构造二叉树,从中序与后序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树 (没思路,典型记住思路好做) 根据一棵树的前序遍历与中序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [ ...
- 剑指offer面试题4: 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- zookeeper的安装与使用
zookeeper的安装与使用: Zookeeper简介 1.可以作为集群的管理工具使用. 2.可以集中管理配置文件. Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式 ...
- 群发技术-使用python3给微信好友群发消息
本文介绍如何给个人微信好友群发消息. 微信个人号中的群发助手可以一次给30个发送消息,如果要给所有所有群发,则需要自己手动发送多次,或者借助程序实现了.本文即是程序实现教程 一.原理 在微信的官方网站 ...
- UIScrollView嵌套的完美解决方案
UIScrollView嵌套的完美解决方案 做iOS开发,不可避免的会遇到UIScrollView的嵌套问题,之前也曾遇到过,吭哧吭哧做完了,效果不理想,和产品大战好几回合,就那样了.不可避免的,又一 ...
- tensorflow的特征工程函数
1. # creates a real valued column for dense numeric data tf.contrib.layers.real_valued_column( co ...
- asp.net mvc SelectList使用
action代码: BusinessPublicContent pc = db.BusinessPublicContent.Where(m => m.BusinessPublicContentI ...
- PS与AI快捷键小结
[文档整理系列] PS与AI快捷键小结PS快捷键 填充前景色 alt+del填充背景色 crel+del前景色与背景色互换: x[英文状态] 切换打开的文件:ctrl + tab关闭当前文件: ctr ...
- 【webpack】中clean-weabpack-plugin使用方法
在webpack中打包的文件通常是通过hash生成的,如果文件改动,那么打包的文件就会越来越多,如果想清除之前的文件,可以使用clean-weabpack-plugin插件来处理 注意版本号:我使 ...
- HashMap 底层分析
以下基于 JDK1.7 分析 如图所示,HashMap底层是基于数组和链表实现的,其中有两个重要的参数: ---容量 ---负载因子 容量的默认大小是16,负载因子是0.75,当HashMap的siz ...