lua - 从数组中间删除一个值会发生什么?

标签 lua

如果我有这样的数组:

local array = {'foo', 'bar', 'baz'}
我像这样删除第二个元素:
array[2] = nil
这会发送array[3]以及表的哈希部分的任何更大的索引?或者它只是在阵列部分留下一个洞?

最佳答案

它将添加另一个边框。
这有几个影响:

  • 您不能再使用 ipairs将所有元素设为 ipairs将停在第一个边界
  • 长度运算符 #将不再为您提供该表中的元素数量,因为它可能会返回任何边框。
  • table.concat将在表中的索引 2 处为 'concat'
  • 引发错误无效值(nil)
  • 表库中的某些函数将不再适用于边界之后的值


  • length operator
  • ipairs
  • table manipulation
  • 关于lua - 从数组中间删除一个值会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67041236/

    相关文章:

    c - 使用其 C API 恢复 Lua 脚本

    caching - Redis 加载 Lua 脚本并从文件缓存它(而不是 SCRIPT LOAD)

    node.js - 执行 redis eval 命令以在 nodeJS 中运行 Lua 脚本

    c++ - 在 C api 中移动一个 lua 表

    lua - 在 Lua 中,它是如何处理的?

    lua - 太阳在 Lua 中的位置(方位角)

    lua - 为什么不能使用Set:union()代替Set.union?

    lua - 如何在 Lua 中创建斐波那契数列?

    multidimensional-array - lua:90: 尝试索引字段 '?' (零值)

    function - 如何解决 Lua 中的函数依赖循环?