曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2852|回复: 0
打印 上一主题 下一主题

table 类型

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2014-11-6 12:07:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用 {} 创建 table , 比如:
  1. a = {};
复制代码


a 通过 key 来索引,比如:

  1. a = {};
  2. k = "x";

  3. a[k] = 10;

  4. print (a[k]);

  5. print (a["x"]);
复制代码

运行结果为:
10
10

其中,x 是一个 key,可称之为键。

可以直接将 a 复制给另外一个变量,如:
  1. b = a;
  2. print (b["x"]);
  3. print (b[k]);
复制代码

运行结果和上面一样。

a["x"] 这种写法,还可以替换为 a.x 这种写法。

注意,a["x"] 和 a[x] 是不同的,前者是一个字符串作为 key,后者的 x 是一个变量。

使用 # 来获取 table 的长度,比如:
  1. tbl = { };

  2. for i = 1, 200 do tbl[i] = i; end

  3. print (#tbl);
复制代码

运行结果为 200 。

利用 # 打印 table 中的最后一个值:
  1. print(tbl[#tbl]);
复制代码


使用 tonumber 强制转换索引,比如:
  1. a = {};
  2. i = 10;
  3. j = "10";
  4. k = "+10";

  5. a[i] = "hello";

  6. a[j] = "lua";

  7. a[k] = "world";

  8. print (a[i]);

  9. print (a[tonumber(k)]);

  10. print (a[tonumber(j)]);
复制代码


输出结果:
hello
hello
hello



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-4-28 06:04 , Processed in 0.077844 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表