如何检查 lua 表是否只包含顺序数字索引?

2024-01-05

如何编写一个函数来确定它的表参数是否是真正的数组?

isArray({1, 2, 4, 8, 16}) -> true
isArray({1, "two", 3, 4, 5}) -> true
isArray({1, [3]="two", [2]=3, 4, 5}) -> true
isArray({1, dictionaryKey = "not an array", 3, 4, 5}) -> false

我看不到任何方法来确定数字键是否是唯一的键。


编辑:这是我最近发现的一种测试数组的新方法。对于返回的每个元素pairs,它只是检查其上的第 n 个项目不是nil。据我所知,这是最快、最优雅的测试方法阵列性.

local function isArray(t)
  local i = 0
  for _ in pairs(t) do
    i = i + 1
    if t[i] == nil then return false end
  end
  return true
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 lua 表是否只包含顺序数字索引? 的相关文章

  • 将 numpy 代码点数组与字符串相互转换

    我有一个很长的 unicode 字符串 alphabet range 0x0FFF mystr join chr random choice alphabet for in range 100 mystr re sub W mystr 我想
  • C 中函数参数中的固定数组或指针之间的区别?

    之间有区别吗 void draw line float p0 2 float p1 2 float color 4 和这个 void draw line float p0 float p1 float color in C 项目清单 C 和
  • 迭代字典按排序顺序返回键

    我有一个关于 python 如何处理字典中的数据的问题 假设我有一个简单的字典 其中一个数字作为键 一个数字作为值 如下所示 a 5 3 20 1 1 1 5 2 100 3 11 6 14 1 15 2 16 4 17 2 25 1 19
  • 具有恒定长度的 System.arraycopy

    我正在玩 JMH http openjdk java net projects code tools jmh http openjdk java net projects code tools jmh 我偶然发现了一个奇怪的结果 我正在对制
  • 如何从嵌套的对象数组中获取每个父级的值

    所以我有多个对象数组 每个对象都包含一个子对象 e g const data id 1 name parent 1 children id c1 name child 1 children id g1 name grand 1 childr
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • 如何在 Smarty 中打印 json

    我从 api 获取 json 如何使用 Smarty 打印 json Json格式 first name jinu last name mk loginid email protected cdn cgi l email protectio
  • 如何终止Lua脚本?

    如何终止 Lua 脚本 现在我在 exit 方面遇到问题 我不知道为什么 这更像是一个 Minecraft ComputerCraft 问题 因为它使用了包含的 API 这是我的代码 while true do if turtle dete
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 格式化多维数组 Python

    如何编写代码来更改多维数组中每个单独数组的值a出现负值后立即归零 所以里面的第二个数组a有负值 12 34 5 6 88 10 30 75 10 会将其所有值及其后的值转为零 将数组变成 12 34 5 6 88 0 0 0 我怎样才能获得
  • 将嵌套字典键值转换为 pyspark 数据帧

    我有一个 Pyspark 数据框 如下所示 我想提取 dic 列中的那些嵌套字典并将它们转换为 PySpark 数据帧 像这样 请让我知道如何实现这一目标 Thanks from pyspark sql import functions a
  • 如何释放字符指针数组?

    我使用此方法将列表中的值转换为数组 以便在 execvp 系统调用中使用 char list2argarray struct shellvalue values int count char array char malloc count
  • 调整ArrayBuffer的大小

    如果我想创建一个数组缓冲区 我会写 var buff new ArrayBuffer size 但是如何调整现有缓冲区的大小呢 我的意思是 在缓冲区末尾添加更多字节 ArrayBuffer 本身没有设置 有set https develop
  • 合并 2 个数组并合并数字键的结果

    我有 2 个数组 我希望通过每个数字键将其中合并 分组在一起 例如 Array1 2009 gt 131 2008 gt 940 2007 gt 176 2006 gt 1 Array2 2008 gt 9 2007 gt 3 我希望输出是
  • 无法理解 Java 地图条目集

    我正在看一个 java 刽子手游戏 https github com leleah EvilHangman blob master EvilHangman java https github com leleah EvilHangman b
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 使用 MPI 的 Allreduce 对 Python 对象求和

    我正在使用使用 Python 中的字典和计数器构建的稀疏张量数组操作 我想让并行使用这个数组操作成为可能 最重要的是 我最终在每个节点上都有计数器 我想使用 MPI Allreduce 或另一个不错的解决方案 将其添加在一起 例如 使用计数

随机推荐

  • XQuery 从列表中获取随机文本

    假设我有一个列表100 串元素和我想要得到50 个随机文本字符串随机返回 我尝试这样做 let list a b element number 100 return xdmp random 100 这个查询返回一个字符串 我想返回 50 个
  • C 中使用 void 指针的通用列表

    我正在尝试创建一个允许输入任何类型的通用列表 但是 我在 is element of 函数中的比较方面遇到问题 因为我正在使用 void 指针 有什么帮助吗 typedef struct Item void data Item typede
  • 在WebGL2中使用drawBuffers时遇到一些问题

    我想将延迟渲染器和前向渲染器组合在一起 为了共享相同的深度缓冲区 我使用具有 4 个颜色附件的单个帧缓冲区对象 COLOR ATTACHMENT0 2 用于 G 缓冲区渲染 COLOR ATTACHMENT3 用于延迟着色和正向渲染 以下是
  • Android Studio 3.0 和 gradle 升级 - 创建 apk 时缺少 base.apk 代码

    我尝试在 Android Studio 3 0 稳定 中将我的 gradle 从 2 3 3 升级到 3 0 0 项目构建正常 但我在创建 安装 APK 时遇到问题 Failure INSTALL FAILED INVALID APK Pa
  • 如何获取firestore中的文档,其文档ID存储在列表中?,即只携带这些文档....?

    我有一个包含特定集合 用户 的文档 ID 的列表 我想获取仅存在于该列表中的文档 并且这些文档位于前面提到的 用户 集合中 Code getUsers async double radius 0 3 String field GeoPosi
  • MacVim 和 Mercurial 签入

    我正在尝试使用 MacVim 作为默认编辑器 显然是在我的 Mac 上 我想让 MacVim 在我编辑提交消息时hg ci 不幸的是 当我这样做时 通过设置EDITOR mvim or alias vi mvim MacVim 弹出一条空消
  • 如何将带有键/值的数组转换为 JSON c#

    我对 C 完全陌生 我已经让自己很头疼了 我知道这对你来说可能是小孩子的事情 但我花了一个多小时在谷歌上搜索 似乎无法解决 我想做的就是将数组转换为 JSON 我很了解 PHP 所以这里是我正在尝试做的一个示例 在 PHP 中 myarr
  • 带有 /etc/hosts 的完全限定机器名称 Java

    我正在尝试使用 Java 获取我的计算机 Windows 7 x64 的完全限定名称 在我的计算机上 我更新了 c Windows system32 drivers etc hosts 文件 使其具有如下条目 10 44 2 167 mys
  • 在android中添加自定义单选按钮

    我正在尝试为 Android 中的常规按钮获取单选按钮效果 我下面有一个简单的 Android 单选按钮 代码是 活动 main xml
  • Heroku *.js 未预编译错误

    我在 Heroku Cedar 堆栈上使用 Rails 在编译资产时没有抛出任何问题 但随后出现 500 内部服务器错误 2012 06 25T23 22 59 00 00 app web 1 ActionView Template Err
  • Vue中满足特定条件的嵌套值过滤数组

    我正在尝试过滤包含嵌套对象数组的数组 我希望 v for 只显示那些满足特定条件的对象 我创建了一个 JSfiddle点击这里 https jsfiddle net boldstar eywraw8t 436472 让我困惑的部分是每个参与
  • 了解CPU寄存器

    我是汇编语言的初学者 并试图理解这些都是如何工作的 我的问题可能看起来很愚蠢 但无论如何 我不太清楚 考虑以下简单的程序 section text global start start mov eax text mov val eax mo
  • CollapsingToolbarLayout ImageView 不可滚动

    Using Cheesesquare Android 支持库示例 https github com chrisbanes cheesesquare是否可以制作标题ImageView可滚动
  • UDT 可以以任何方式用作方法参数吗?

    多年来我一直避免使用Public TypeUDT 在 VBA 中 因为它们很难传递 而且我从来没有真正费心去理解为什么 直到现在 创建一个类模块并使用实际对象更容易 但最近我尝试了一下 一旦我认为他们必须通过ByRef 就像数组一样 事情开
  • 如何使用 jQuery 更改链接的标题

    这是我的代码 link attr href link link text text 如何使用 jQuery 更改链接的标题 我正确地更改了网址 但无法编辑文本 我做错了什么 a href target blank text a link a
  • MATLAB 清除后是否保留一些变量?

    我有一个程序可以读取一个非常大的 Excel 文件并创建一些大变量 如果我尝试连续多次运行它 则会耗尽存储空间 这是有道理的 即 大程序 大程序 会崩溃 然而 我不明白的是为什么 大程序 全部清除 大程序 也会崩溃 为了多次运行它 我每次都
  • 使用asmack检索离线消息

    我是 asmack 和 openfire 的新手 经常寻找这个问题的有效答案 但在任何地方都找不到 如何在登录我的 asmack 帐户时检索离线消息 我使用了以下代码 configure ProviderManager getInstanc
  • 使用 Xamarin 更新 UI

    我在使用 Xamarin 更新 UI 时遇到困难 目标是制作响应式 UI 以便用户知道应用程序正在思考 以下是我的尝试 尝试1 private void BeginProcess string fileName Device BeginIn
  • 没有类的 React 有状态组件

    在 React 中 我们可以将组件编写为纯函数 然而 这样做的问题是 由于缺乏生命周期挂钩和状态 您无法将其用作有状态组件 所以 我想知道是否有任何方法可以在不使用类的情况下创建有状态组件 我发现的是createClass帮手 但是 Rea
  • 如何检查 lua 表是否只包含顺序数字索引?

    如何编写一个函数来确定它的表参数是否是真正的数组 isArray 1 2 4 8 16 gt true isArray 1 two 3 4 5 gt true isArray 1 3 two 2 3 4 5 gt true isArray