任何语言都不是完美无瑕的,在使用中都有各种问题,lua 也不例外。而 lua 使用中,绝对绕不开的一个问题就是 # 取 table 长度问题。
问题描述
先看下 # 的一些使用情况,希望引起你的困惑:
> t = {1,1,nil,1} > #t 4 > t = {nil,nil,1,nil} > #t 0 > t = {1,nil,nil,nil,nil,nil,nil,1} > #t 8 > t[9] = 1 > #t 1 > t = {1,nil,nil,nil,nil,nil,nil,1,1} > #t 9
当 table 有部分值为 nil 时,你很难清楚 # 取得的结果是什么。(如果你想知道 table 实际长度,只能遍历 table)
继续阅读lua table # 取长度问题