Skip to content

Lua学习笔记(一)

一、类型和值
1. Lua是动态类型语言,变量不要类型定义。
Lua中有8个基本类型分别为:nil,boolean,number,string,userdata,function,thread,table。
函数type可以测试给定变量或者值的类型。

2. Nil
Lua中特殊的类型,它只有一个值:nil;一个全局变量没有被赋值以前默认值为nil;给全局变量赋nil可以删除该变量。

3. Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真。

4. Numbers表示实数,Lua中没有整数

5. 一个string可以只包含一个字母也可以包含一本书,Lua可以高效的处理长字符串,1M的string在Lua中是很常见的。可以使用单引号或者双引号表示字符串。还可以使用[[...]]表示字符串。

6. ..在Lua中是字符串连接符,当在数字后面写..时,必须加上空格以防止被解释错误。

7. 显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。反之,可调用tostring()

8. userdata可以将C数据存放在Lua变量中,userdata在Lua中除了赋值和相等比较外,没有预定义的操作。userdata用来描述应用程序或者使用C实现的库创建的新类型。

二、表达式
1. ==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。

2. 为了避免不一致的结果,火鹤比较数字和字符串,Lua会报错,比如:2 < “15″

3. and 和 or的运算结果不是true和false,而是和它的两个操作数相关
a and b –如果a为false,则返回a,否则返回b
a or b –如果a为true,则返回a,否则返回b
x = x or v
等价于
if not x then
x = v
end
4. not的结果一直返回false或者true

5. 表的构造
构造器是创建和初始化表的表达式。表是Lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。
days = {”Sunday”, “Monday”, “Tuesday”}
“Sunday”初始化为days[1](第一个元素索引为1)




Related posts

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*
备案/许可证编号为: 浙ICP备09097601号 | 网址专家互链 | 友情链接站