Lua之Lua变量类型-TTLSA(2)

默北 luaLua之Lua变量类型-TTLSA(2)已关闭评论12,5493字数 1195阅读3分59秒阅读模式

在上一节中说到了Lua的安装与变量,这节说说Lua变量的类型。Lua在使用中不需要预先定义变量的类型。Lua中基本的类型有:nil、boolean、number、string、userdata、function、thread、table。可以使用type函数来判断变量的类型。

1. nil
nil是一个特殊的类型,用来表示该变量还没有被赋值,如果一个变量赋值为nil,可以删除这个变量。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

2. boolean
boolean类型的变量只有两个值:true和false。在条件表达式中非常有用的。在控制结构条件中只有false和nil为假,其他值都是真的。因此Lua认为0和空字符串都为真。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

3. number
number在Lua中是双精度浮点数。没有整数类型。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

4. string
在Lua中字符串是不可修改的。string和其他对象一样,Lua自动进行内存的分配和释放。
Lua字符串可以小到一个字符,也可以包含百万字符以上。
可以使用单引号或者双引号表示字符串,还可以使用[[...]]来表示字符串。
对于字符串中含有引号的字符可以使用\来进行转义。
Lua特殊字符串如下:文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

\a	响铃			\v	垂直制表符				\b	退格				\\	反斜杠
\f	换页符			\"	双引号					\n	换行符				\'	单引号
\r	换行符			\[	左方括号				\t	制表符				\]	右方括号

..在Lua中是字符串连接符。当在一个数字后面写..时,必须加上空格,否则出错。
Lua会根据上下文在合理的情况下,对数字和字符串之间进行转换。如果需要显示的将string转成数字可以使用函数tonumber(),反之,可以使用tostring()将数字转成字符串。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

5. function
函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

6. table
table在Lua中是最强大最重要也是最容易造成困惑的数据类型。
table 类似于 python 中的字典。table 只能通过构造式来创建。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

> tab = { web = "www.ttlsa.com", QQ = 39514058, 20, a = 30, b = 40, 50  }              
> tab2 = { 'web' = "www.ttlsa.com", QQ = 39514058, 20, a = 30, b = 40, 50 }  
stdin:1: '}' expected near '='
> print(tab["web"])
www.ttlsa.com
> print(tab[web])
nil
> print(tab[1])  
20
> print(tab[2])
50
> print(tab[3])
nil

说明:
注释:
6.1 table 中的每项要求是 key = value 的形式。 省略key时,会自动以1开始编号,并跳过设置过的key。
6.2 key 只能是字符串, 这里的 web, QQ, a, b 都是字符串,但是不能加上引号, 否则出错。
6.3 通过 key 来访问 table 的值,这时候,必须加上引号。文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/ 文章源自运维生存时间-https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 03/03/2014 09:26:00
  • 转载请务必保留本文链接:https://www.ttlsa.com/lua/lua-variables-of-type-ttlsa/