lua基础语法(一)

上传人:san****019 文档编号:70832160 上传时间:2019-01-18 格式:PPT 页数:25 大小:2.08MB
返回 下载 相关 举报
lua基础语法(一)_第1页
第1页 / 共25页
lua基础语法(一)_第2页
第2页 / 共25页
lua基础语法(一)_第3页
第3页 / 共25页
lua基础语法(一)_第4页
第4页 / 共25页
lua基础语法(一)_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《lua基础语法(一)》由会员分享,可在线阅读,更多相关《lua基础语法(一)(25页珍藏版)》请在金锄头文库上搜索。

1、Data Industry Research Lab.,秦皇岛数据产业研究院,LUA基础语法(一),目录,标识符,保留字,Chunks(语句),基本数据类型,注释,表达式,注释,单行注释:连续两个减号“-”表示注释的开 始,直到行末为止。 多行注释:由“-” 表示注释开始,并 且一直延续到“-”为止。,变量,全局变量:默认情况下,变量总认为是全局的。全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。 局部变量:定义局部变量需要赋初值的时候用“local”说明。 比如:local a,b,c = 1,2,3,局部变量,应

2、该尽可能的使用局部变量,有两个好处:,避免命名冲突 访问局部变量的速度比全局变量更快.,标识符,字母(letter)或者下划线开头的字母、下划线、数字序列。最好不要使用下划线加大写字母的标识符。 注意:Lua大小写敏感。 合法的标识符 非法标识符 HelloWorld and _983 983 _name hello world,保留字,保留字:Lua语言中一些赋以特定的含义, 用做专门用途的字符串。 以下字符为Lua保留字,不能当做标识符。 and break do else elseif end false for function if in local nil not or repea

3、t return then true until while,chunks,Chunk是一系列语句(可以理解为把一堆零散的东西放到一个盒子里运行),Lua执行的每一块语句,比如一个文件或者交互模式下的每一行都是一个Chunk。一个Chunk可以是一个语句,也可以是一系列语句的组合,还可以是函数,Chunk可以很大,在Lua中几个MByte的Chunk是很常见的。 每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用“;”分开。 a = 1 b = 2 - ugly a = 1; b = 2 -beautiful,基本数据类型,Lua是动态类型语言,变量不用类型定义。(类型的检查是在运

4、行时做的) a=5 print(a),Lua中定义了8个基本类型: nil、boolean、number、string、userdata、 function、thread和table,(1 空值 nil,Lua中特殊的类型,它只有一个值:nil 所有没有使用过的变量,都是nil,nil既是值 又是类型。 例:print(a) - nil print(type(a)) - nil 一个全局变量没有被赋值以前默认值为nil;给 全局变量赋nil可以删除该变量。,(2 逻辑型 boolean,仅有两个有效值true和false,在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认

5、为0和空串都是真。 例: flag = true if (flag) then print(“OK“) end,(3 数值 number,数值,在Lua中数值相当于C语言的double,它可以代替整数,浮点数。,(4 字符串 string,指字符的序列,string既可以用单引号也可以用双引号表示。 例: a = “a little boy” b = “小朋友” c = “10” 注意:Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串。,运行时,Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时,string就会被转成数字。 例:

6、print(“10“ + 1) 11 print(“10 + 1“) 10 + 1 print(“hello“ + 1) - ERROR (cannot convert “hello“) 当Lua期望一个string而碰到数字时,会将数字转成string。例:print(10 20) 1020,(5 函数 function,function本身也是一种变量,可以作为函数参数使用,还可以作为返回值使用。 function func_name (arguments-list) statements-list; end; Lua语言的一大特色。(下面章节详细讨论),(6 Userdata和 (7 t

7、hread,userdata专门和Lua的宿主机打交道。 thread 线程类型,(8 表结构 table,表类型,功能很强大。,运算符,Lua支持如下运算符: 算数运算符:二元运算符:+ - * / %(加减乘除幂余) 一元运算符:- (负值) 关系运算符: = = = 逻辑运算符:and or not 连接运算符: 两个点,算数运算符,二元运算符:+ - * / %(加减乘除幂余) 一元运算符:- (负值) 这些运算符的操作数都是实数。 例:count.lua,关系运算符, = = = 这些操作符返回结果为false或者true; =和=比较两个值,如果两个值类型不同,Lua认为两者不同;

8、”0” = 0 false nil只和自己相等。 Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,但是字母顺序依赖于本地环境。 如:compare.lua,逻辑运算符,and (与) or(或) not(非) 逻辑运算符认为false和nil是假(false),其他为真,0也是true. and和or的运算结果不是true和false,而是和它的两个操作数相关。 a and b - 如果a为false,则返回a,否则返回b a or b - 如果a为true,则返回a,否则返回b 例:logic.lua,连接运算符, 字符串连接,如果操作数为数字,Lua将数字转成字符串。 连接符两边必须要有空格 如: print(“Hello “ “World“) Hello World print(0 1) 01,优先级, not - (unary) * / + - = = = and or,,Thank You !,秦皇岛数据产业研究院,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号