Extraño para el problema del bucle

No estoy seguro de si esto es un error o no, así que pensé que quizás ustedes querrían echar un vistazo.

El problema radica en este código:

for i=0,1,.05 do
    print(i)
end

La salida debe ser:

0
.05
.1
--snip--
.95
1

En cambio, el resultado es:

0
.05
.1
--snip--
.95

Este mismo problema ocurrió con un ciclo while:

w = 0
while w <= 1 do
    print(w)
    w = w + .05
end
--output:
0
.05
.1
--snip--
.95

El valor de w es 1, que puede verificarse mediante una declaración de impresión después del ciclo.

He verificado tanto como sea posible que cualquier paso que sea menor o igual a .05 producirá este error. Cualquier paso por encima de .05 debería estar bien. Verifiqué que 1/19 (0.052631579) imprime un 1. (Obviamente, un denominador decimal como 19.9 o 10.5 no producirá resultados de [0,1] inclusive). ¿Existe la posibilidad de que esto no sea un error del lenguaje? ? Tanto el intérprete como un archivo Lua normal producen este error.

Respuestas a la pregunta(4)

Su respuesta a la pregunta