意外的“表索引为nan”错误lua

时间:2018-10-24 04:25:11

标签: lua love2d

我有线

distanceTable[ tonumber(distance) ] = obj

正在引发“表索引为nan”错误。距离为67.882250993909时。类型(距离)返回“数字”

距离是一个数字,为​​什么我会收到此错误?

1 个答案:

答案 0 :(得分:2)

如错误消息所述,NaN不能是表中的键,类似于nil。我猜想这种限制是由于存在这样的事实,即NaN存在许多可能的二进制值,并且根据IEEE标准NaN != NaN

由于tonumber在给出字符串时不能返回NaN,因此它必须来自distance。您使用的操作的结果之一可能是不确定的,因此它返回了NaN。您可以使用distance ~= distance来检查NaN并进行相应处理,或者阻止产生该值的计算。