Я не уверен, что это ошибка или нет, поэтому я думал, что, может быть, вы, кто хотеть посмотреть.
Проблема заключается в том, что этот код:
for i=0,1,.05 do
print(i)
end
Выход должен быть:
0
.05
.1
--snip--
.95
1
вместо этого вывод:
0
.05
.1
--snip--
.95
Эта же проблема произошла с циклом Whime:
w = 0
while w <= 1 do
print(w)
w = w + .05
end
--output:
0
.05
.1
--snip--
.95
Значение W равно 1, которое Может быть подтвержден оператором печати после петли.
Я проверил как можно больше, что любой шаг, который меньше или равен .05, даст эту ошибку. Любой шаг выше .05 должен быть в порядке. Я проверил, что 1/19 (0,052631579) делает печать 1. (очевидно, десятичный знаменатель, такой как 19,9 или 10,5, не будет производить вывод из [0,1] включительно.) Есть ли возможность, что это не ошибка языка ? Как интерпретатор, так и обычный файл LUA создают эту ошибку.