Неожиданная «таблица индексов» ошибка lua - PullRequest
0 голосов
/ 24 октября 2018

У меня есть строка

distanceTable[ tonumber(distance) ] = obj

, которая вызывает ошибку "индекс таблицы - это нан".Когда расстояние составляет 67,882250993909.type (distance) возвращает "число"

Расстояние - это число, так почему я получаю эту ошибку?

1 Ответ

0 голосов
/ 24 октября 2018

Как говорится в сообщении об ошибке, NaN не может быть ключом в таблице, подобно nil.Я предполагаю, что это ограничение вызвано тем фактом, что существует множество возможных двоичных значений для NaN, и в соответствии со стандартом IEEE, NaN != NaN.

Поскольку tonumber не может вернуть NaN, если дана строка,должно быть, оно пришло от distance.Вероятно, один из результатов использованных вами операций был неопределенным, и поэтому он вернул NaN.Вы можете использовать distance ~= distance, чтобы проверить наличие NaN и обработать его соответствующим образом, или предотвратить вычисления, приведшие к значению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...