lua语法 - 基础篇
1. 注释
单行注释:--,类似于C++的//
多行注释:--[[ ... ]],类似于C++的/*...*/
2. 语句
分隔符:分号或者空格,一般多行写一起,建议用分号
语句块:do ... end
赋值语句: a, b, c, d = 1, 2, 3, 4 -- global variables
local a, b, c = 1, 2, 3 -- local varialbes
a, b = b, a -- swap data
赋值运算:+、-、* 、^(乘方) -- 2^3=8、..(连字符) -- "hello" .. " world" -> "Hello World"
比较运算符:<、>、<=、>=、==、~=(不等于)
逻辑运算:and、or、not
只有false,nil才被看做false,其他都是true,包括0也是true!
and和or的运算结果不是true和false,而是和左右操作数有关
a and b:如果a为false,则返回a;否则返回b;
a or b:如果a为true,则返回a;否则返回吧;
操作符优先级(高->低):
^
not -(一元运算)
* /
+ -
..
< > <= >= == ~=
and
or
3. 关键字: and, break, do, else, elseif, end, false, for, function, if, in, local, nil, not, or, repeat, return, then, true, until, while.
4. 变量类型:可以用type()来检查变量的类型。
nil: 空值,既是数据类型,也是值;
Number: 数值,类似于C的double;
String: 字符串,可以包含'\0'字符;
Table: 关系表类型;
Function: 函数类型,所有的函数本身就是一个变量;
Userdata: 专门用来和lua的宿主打交道,宿主一般用C、C++来写的,所以Userdata可以是宿主的任何类型,主要的有Struct和指针;
Thread: 线程类型,在lua中没有真正的线程,可以理解为把一个函数分成多个部分运行。
3. 控制语句
if ... then ... elseif ... then ... else ... end
while ... do ... end
repeat ... until ...
for i = 1, 10 do print(i) end
lua语法 - 基础篇的更多相关文章
- Lua语法基础(2)--基本语法、函数
上一篇编辑编辑着,发现,缩进出了问题.作为一个不是强迫症的人,实在是忍受不了同一级内容不同缩进方式的槽点,于是重开一篇吧.(万幸,这样的文章也只有我自己看.) 第四 基本语法 赋值语句,Lua可以对多 ...
- Lua语法基础(1)---简介、基本数据类型、表达式
我觉得我已经陷入了一个坑内.因为,安装了Lua和SublimeText3编辑器之后,怎么使自己编写的lua代码在untiy内运行起来,是个我完全不了解的机制.先放一放吧.首先,来回顾一下Lua的语法基 ...
- 学习mysql语法--基础篇(一)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: 一.创建用户,创建数据库,给 ...
- 学习mysql语法--基础篇(二)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成] DML ...
- SQL——语法基础篇(上)
用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来 ...
- Lua语法基础(一)
1. 注释 -- 单行注释 --[[ 多行注释 --]] 2. 运行方式 (1)交互式运行 命令行下 lua进入交互模式 (2)命令行运行 lua + ...
- Lua语法基础(3)--迭代器和泛型for
迭代器和闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功 ...
- Lua语法基础(二)
1. 函数 1.1 函数声明 默认为全局 局部函数使用local关键字声明 1.2 参数 ...等同于Python中*args三个点表示可变参数 1.3 获取参数长度的两种方式 (1)将传入的参数.. ...
- Lua脚本之语法基础快速入门
要 1.基本数据类型 2.Lua中的常用语句结构以及函数 3.Lua中的常用语句结构介绍 4.Lua中的库函数 目录[-] 一.基本数据类型 二.Lua中的常用语句结构以及函数 1.Lua中的常用语句 ...
随机推荐
- ThinkPHP第九天(在Admin分组中配置__PUBLIC__,$POST异步传输,import使用方法,验证码点击刷新方法,Create方法作用)
1.项目分组之后,后台模板的公用文件一般放置在Tpl/Admin/Public中,这样子在替换模板路径时候如果还用__PUBLIC__时为了不与前台冲突,应该在Admin/config.php中配置一 ...
- codeforces 629D. Babaei and Birthday Cake
题目链接 大意就是给出一个序列, 然后让你从中找出一个严格递增的数列, 使得这一数列里的值加起来最大. 用线段树, 先将数列里的值离散,然后就是线段树单点更新, 区间查询最值. 具体看代码. #inc ...
- C#调用Java方法
C#调用Java方法(详细实例) 阅读目录 C#调用c++ C#调用JAVA方法 C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具 ...
- 转:触屏中的js事件
一.触摸事件 ontouchstartontouchmoveontouchendontouchcancel 目前移动端浏览器均支持这4个触摸事件,包括IE.由于触屏也支持MouseEvent,因此他们 ...
- OGNL逻辑标签,UI标签
逻辑标签 public class IndexAction extends BasicAction{ private static final long serialVersionUID = 1L; ...
- Java学习笔记51:数组转ArrayList和ArrayList转数组技巧
ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...
- Python3 官方文档翻译 - 5 数据结构
这章会更详细地描述了一些你已经学过的知识,同时添加一些新东西. 5.1 List进阶 下面是关于List的所有方法 list.append(x) 将元素添加至列表尾,相当于a[len(a):] = [ ...
- POJ 1472 Coins (多重背包+滚动数组)
Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 25827 Accepted: 8741 Description Pe ...
- IBATIS动态SQL
转自:http://www.cnblogs.com/phoebus0501/archive/2011/05/16/2048126.html 直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值 ...
- ListView上拉刷新和分页加载完整的Dome
很多人工作的过程中都会碰到ListView下拉刷新和分页加载,然后大多数公司都已经把框架写好了,大家直接用就可以了,有些人一直对这个事情处于迷茫状态,为了让大家对上拉刷新和分页加载有一个比较全面的认识 ...