lua之数据类型
2014-02-18 16:23
155 查看
nil:Lua中特殊的类型,他只有一个值:nil;一个全局变量没有被赋值以前默认值为nil;给全局变量负nil可以删除该变量。
booleans:两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真
Numbers:表示实数,Lua中没有整数。一般有个错误的看法CPU运算浮点数比整数慢。事实不是如此,用实数代替整数不会有什么误差(除非数字大于100,000,000,000,000)。Lua的numbers可以处理任何长整数不用担心误差。你也可以在编译Lua的时候使用长整型或者单精度浮点型代替numbers,在一些平台硬件不支持浮点数的情况下这个特性是非常有用的,具体的情况请参考Lua发布版所附的详细说明。和其他语言类似,数字常量的小数部分和指数部分都是可选的.
Strings:
指字符的序列。lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。这意味着你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串
Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时,string就会被转成数字。当Lua期望一个string而碰到数字时,会将数字转成string。
..在Lua中是字符串连接符,当在一个数字后面写..时,必须加上空格以防止被解释错。
尽管字符串和数字可以自动转换,但两者是不同的,像10 == "10"这样的比较永远都是错的。如果需要显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。
booleans:两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真
Numbers:表示实数,Lua中没有整数。一般有个错误的看法CPU运算浮点数比整数慢。事实不是如此,用实数代替整数不会有什么误差(除非数字大于100,000,000,000,000)。Lua的numbers可以处理任何长整数不用担心误差。你也可以在编译Lua的时候使用长整型或者单精度浮点型代替numbers,在一些平台硬件不支持浮点数的情况下这个特性是非常有用的,具体的情况请参考Lua发布版所附的详细说明。和其他语言类似,数字常量的小数部分和指数部分都是可选的.
Strings:
指字符的序列。lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。这意味着你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串
Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时,string就会被转成数字。当Lua期望一个string而碰到数字时,会将数字转成string。
..在Lua中是字符串连接符,当在一个数字后面写..时,必须加上空格以防止被解释错。
尽管字符串和数字可以自动转换,但两者是不同的,像10 == "10"这样的比较永远都是错的。如果需要显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。
相关文章推荐
- Lua的数据类型
- 【lua笔记】lua数据类型转换
- Lua-5.3.4代码分析(一) LUA数据类型
- Lua—基础分析(数据类型和函数)
- Lua基本数据类型
- Lua学习笔记(一) —— 数据类型
- Lua编程笔录--Lua初识及语法一(注释,变量命名,全局/局部变量,数据类型)
- Lua中变量和数据类型
- Lua学习笔记之数据类型
- Lua 实验,数据类型相关
- lua和php的基本数据类型
- Lua数据类型
- Lua中几种数据类型的默认boolean值
- 实现Lua中数据类型的源码分享
- Lua学习笔记之数据类型
- lua程序设计(1) - 数据类型和操作符
- lua学习之数据类型
- Lua 数据类型和 Redis 数据类型之间转换
- 详解Lua中的数据类型
- Lua数据类型