美文网首页
四 表(table)

四 表(table)

作者: 愤愤的有痣青年 | 来源:发表于2020-12-03 16:09 被阅读0次

表的创建方式

>a={} --> 创建空表
>a={1,2,3} --> 在创建时指定数据,这类数据可以通过a[0]的方式获取
>a={name="jack"}  --> 创建key=value形式的数据,可以通过a.name 或a['name']的方式获取
> a.p = 1 --> 动态创建,等价于a['p'] = 1

混合创建

> m = '456'
> a={name='123', [m]=789, '10', 11} --> [m]这种形式是用m变量所指定的值来作为key
> a.name --> '123'
> a.m --> nil
> a['456'] -->789
> a[1]  --> 10
> a[2] -->11

数组/列表

表的一个创建方式如下

a= {}
for i=1,10 do
    a[i] = i^2
end

此处得到的为一个索引从1开始,到10的数组,需要注意,在lua中,其默认的索引下标是从1开始的,例如

> m = {"a", "b"}
> m[0] --> nil
> m[1] -->"a"
> m[2] -->"b"

序列

序列指的是不含有nil元素的表数据,例如{1,2,3,4}属于序列,但{1,2,nil,3}不属于序列,对于序列,可以使用#符号获取其长度,例如

> a={1,2,3,4}
> #a -->4

> b={}
> b[1] = 'a'
> b[10]='b'
> #b --> 1  这是因为lua中对于存在空洞的表无法计算出准确的长度

遍历表

使用pairs遍历键值对,遍历的顺序是随机的

t = {10, print, x=12, k='h1'}
for k,v in pairs(t) do
     print(k,v)
end

输出

1   10
x   12
2   function: 0x41b010
k   h1

使用ipairs遍历列表,结果将是有序的,但此方式无法得到key:value形式的数据

t = {10, print, x=12, k='h1'}
for k,v in ipairs(t) do
     print(k,v)
end

输出

1   10
2   function: 0x41b010

使用for循环编列

t = {10, print, x=12, k='h1'}
for i=1,#t do
     print(i, t[i])
end

输出

1   10
2   function: 0x41b010

相关文章

  • 四 表(table)

    表的创建方式 混合创建 数组/列表 表的一个创建方式如下 此处得到的为一个索引从1开始,到10的数组,需要注意,在...

  • 2019-03-21

    -- 创建表 create TABLE -- 删除表 drop TABLE create TABLE test1(...

  • 四:插入数据

    查看表结构:DESC '表名' 删除表:DROP TABLE ‘表名’ 更改表名称:RENAME TABLE ‘表...

  • Hive表属性操作

    表属性操作 修改表名alter table table_name rename to new_table_name...

  • Hive 批量创建/删除表分区

    创建表分区: MSCK REPAIR TABLE [表名]; 删除表日期类型分区: ALTER TABLE [表名...

  • sql学习

    修改表结构 修改表名:alter table old_table_name rename new_table_na...

  • MySQL 表的创建语句

    创建表: create table 表名 (字段,字段类型,约束); 修改表名: alter table 原表名 ...

  • Oracle基本SQL语句

    删除表:drop table 表名 修改表结构:删除列:alter table 表名 drop column 列名...

  • mysql---修改表结构

    使用ALTER TABLE修改表结构 1) 修改表名称 ALTER TABLE <表名> RENAME <新表名>...

  • 增删改查

    SQL操作 CREATE TABLE CREATE TABLE用来创建一个表 //创建一个表,表的名称为table...

网友评论

      本文标题:四 表(table)

      本文链接:https://www.haomeiwen.com/subject/ezcuwktx.html