Lua,表的大小(#table_name或table.getn(table_name),它有时返回0

时间:2012-05-23 10:39:19

标签: lua

#table_name确实返回的值不是0时? 而且,table.getn(table_name)确实返回的值不是0?

2 个答案:

答案 0 :(得分:7)

阅读手册:

  

2.5.5 - 长度算子

     

长度运算符由一元运算符#表示。字符串的长度是它的字节数(即   是,每个字符为1时字符串长度的通常含义   字节)。

     

表t的长度定义为任何整数索引n   使得t [n]不为零且t [n + 1]为零;而且,如果t [1]为零,   n可以为零。对于常规数组,非nil值从1到a   给定n,其长度恰好是n,即其最后一个值的索引。如果   数组有“空洞”(即其他非零之间的空值)   ()),然后#t可以是直接在a之前的任何索引   零值(也就是说,它可以将任何这样的零值视为结尾   数组)。

答案 1 :(得分:3)

如果表中的键不是整数(例如字符串),则length运算符将返回0.