Lua之Lua变量类型

在上一节中说到了 Lua的安装与变量,这节说说Lua变量的类型。Lua在使用中不需要预先定义变量的类型。Lua中基本的类型有:nil、boolean、number、string、userdata、function、thread、table。可以使用type函数来判断变量的类型。 1. nil nil是一个特殊的类型,用来表示该变量还没有被赋值,如果一个变量赋值为nil,可以删除这个变量。 2. boolean boolean类型的变量只有两个值:true和false。在条件表达式中非常有用的。在控制结构条件中只有false和nil为假,其他值都是真的。因此Lua认为0和空字符串都为真。 3. number number在Lua中是双精度浮点数。没有整数类型。 4. string 在Lua中字符串是不可修改的。string和其他对象一样,Lua自动进行内存的分配和释放。 Lua字符串可以小到一个字符,也可以包含百万字符以上。 可以使用单引号或者双引号表示字符串,还可以使用[[...]]来表示字符串。 对于字符串中含有引号的字符可以使用\来进行转义。 Lua特殊字符串如下:

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

..在Lua中是字符串连接符。当在一个数字后面写..时,必须加上空格,否则出错。 Lua会根据上下文在合理的情况下,对数字和字符串之间进行转换。如果需要显示的将string转成数字可以使用函数tonumber(),反之,可以使用tostring()将数字转成字符串。 5. function 函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。 6. table table在Lua中是最强大最重要也是最容易造成困惑的数据类型。 table 类似于 python 中的字典。table 只能通过构造式来创建。

1> tab = { web = "www.ttlsa.com", QQ = 39514058, 20, a = 30, b = 40, 50 } 2> tab2 = { 'web' = "www.ttlsa.com", QQ = 39514058, 20, a = 30, b = 40, 50 } 3stdin:1: '}' expected near '=' 4> print(tab["web"]) 5www.ttlsa.com 6> print(tab[web]) 7nil 8> print(tab[1]) 920 10> print(tab[2]) 1150 12> print(tab[3]) 13nil

说明: 注释: 6.1 table 中的每项要求是 key = value 的形式。 省略key时,会自动以1开始编号,并跳过设置过的key。 6.2 key 只能是字符串, 这里的 web, QQ, a, b 都是字符串,但是不能加上引号, 否则出错。 6.3 通过 key 来访问 table 的值,这时候,必须加上引号。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )