Странно для проблемы петли

Я не уверен, что это ошибка или нет, поэтому я думал, что, может быть, вы, кто хотеть посмотреть.

Проблема заключается в том, что этот код:

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 создают эту ошибку.

7
задан daurnimator 1 September 2011 в 23:24
поделиться