取长度操作符写作一元操作 #
。
字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。
table t
的长度被定义成一个整数下标 n
。
它满足 t[n]
不是 nil 而 t[n+1]
为 nil;
此外,如果 t[1]
为 nil ,n
就可能是零。
对于常规的数组,里面从 1 到 n
放着一些非空的值的时候,
它的长度就精确的为 n
,即最后一个值的下标。
如果数组有一个“空洞” (就是说,nil 值被夹在非空值之间),
那么 #t
可能是任何一个是 nil 值的位置的下标
(就是说,任何一个 nil 值都有可能被当成数组的结束)。