lua - 意外的“表索引为nan”错误lua
问题描述
我有线
distanceTable[ tonumber(distance) ] = obj
这引发了“表索引为 nan”错误。当距离为 67.882250993909 时。类型(距离)返回“数字”
距离是一个数字,为什么我会收到此错误?
解决方案
正如错误消息所说,NaN 不能是表中的键,类似于nil
. 我想这个限制是由于 NaN 有许多可能的二进制值,并且根据 IEEE 标准,NaN != NaN
.
由于tonumber
在给定字符串时无法返回 NaN,因此它必须来自distance
. 您使用的操作的结果之一可能是未定义的,因此它返回 NaN。您可以使用distance ~= distance
它来检查 NaN 并相应地处理它,或者阻止导致该值的计算。
推荐阅读
- python - Python中没有抽象方法的抽象数据类:禁止实例化
- c# - EF Core 的 ConstantExpression 中的正确集合
- html - 定位第一个包含字符串 (CSS) 的类
- r - 当残差相关时,如何改进此 ETS 模型?
- python - 多处理奇怪的行为?
- go - 如何将最小值/最大值设置为整数变量
- css - 在每个新链接处触发背景图像
- android-studio - 为什么我尝试创建模拟器时 Android Studio 和 Android Virtual Device Manager 会立即崩溃?
- sas - Proc 表格分组数据 - 三个变量
- ios - 当 SwiftUI 中字体大小增加时,Picker 中的内容会重叠