脚本小子_Lua数据类型

一、数据类型
1、概述
Lua是动态类型语言,变量没有类型定义,只需要为变量赋值。 而变量的类型则由赋值给它的值决定。值可以存储在变量中,作为参数传递或结果返回
2、类型分类
数据类型
含义
nil
这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)
boolean
布尔值 包含 true和false
number
表示双精度类型的实浮点数
string
字符串由一对双引号或单引号来表示。用 2 个方括号 "[[]]" 来表示"一块"字符串
function
方法
userdata
表示任意存储在变量中的C数据结构
thread
表示执行的独立线路,用于执行协同程序
table
关联数组
3、如何查看数据类型
3.1、使用命令type
 
 
二、类型案例
1、nil(空)
A、nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值
B、对于全局变量和 table,nil 还有一个"删除"作用,给全局变量或者 table 表里的变量赋一个 nil 值,等同于把它们删掉
1.1、例子

执行结果 :
 
2、boolean(布尔)
boolean 类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看作是"假",其他的都为"真"。 (0和空字符串也都为真)
2.1、例子

执行结果 :
 
 
3、number(数字)
Lua 默认只有一种 number 类型 -- double(双精度)类型
3.1、例子

执行结果

 
4、string(字符串)
字符串由一对双引号或单引号来表示,也可以用 2 个方括号 "[[]]" 来表示"一块"字符串
4.1、例子
 
执行结果

 
5、function(函数)
Lua中,函数可以封装好的语句集,也是可以某个变量的值
5.1、例子
 
执行结果

 
 
6、table(关联数组)
table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表
6.1、例子

执行结果

 
三、常见问题
1、类型转换
1.1、整形与字符串转换
A、整形转换为字符串
使用命令tostring 或者使用连接符..
例子:

 
B、字符串转换为整形
使用命令tonumber

 
 
2、table引用区别
2.1、a.x 和a[x]的区别
a.x是以变量x的值来索引a
a[x]是以字符串x来索引a
2.2、例子

 
 
 
 

猜你喜欢

转载自blog.csdn.net/u014795720/article/details/80149842