当#table_name
确实返回的值不是0时?
而且,table.getn(table_name)
确实返回的值不是0?
答案 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.