local tab = {1, 2, 3} table.remove(tab) --默认删除最后一个元素,第二个参数能够指定删除位置
删除后,后面的元素会往前移动。有点像C++的std::vector删除一个元素同样。这个操做会改变表的长度,即#tab会-1;这很合理。spa
tab[2] = nil
这种方法,至关于间接把这个元素从表中删除了。可是注意两点:code
(1)表的长度不会改变,即#tab的值依然是3blog
(2)使用for语句遍历tab时,不会遍历完整的tab,碰到nil(tab的第二个元素)时,就停下了rem