latino
latino copied to clipboard
Error al invocar Función dentro de un ciclo.
Reportando bug
no escribir en esta área y marcarlo al completar el issue.
- [ ] Error global, no me deja correr Latino.
- [ ] El error ocurre en una palabra reservada. Por ejemplo:
si
osi
sino
(escribir la palabra reservada en detalles). - [ ] Es un error en una función específica (escribir la función en detalles).
- [ ] Es una falla de memoria (memory leak).
- [ ] El error solo ocurre en el REPL (al ejecutar
latino
sin parámetros).
no escribir en esta área y marcarlo al completar el issue.
Más detalles:
Saludos. Espero alguien me pueda confirmar que no es solo en mi pc el problema que describo... Gracias.
La siguiente función genera una cadena de texto que representa un número "Aleatorio" de 6 dígitos. Al invocar la función sola genera el valor esperado. Sin embargo, al invocar la función dentro de un ciclo se producen comportamientos erráticos. En el siclo -desde-, al cambiar la condición de i < 13 a i < 12 o cualquier número menor a 12 el ciclo solo itera 1 vez, y con cualquier número mayor o igual a 13 el ciclo se hace infinito.
Código en donde ocurre:
funcion miFuncion1()
num1 = ""
i = 0
mientras i <= 10
num1 = num1 .. acadena(mate.aleatorio(0, 9))
i = i + 1
fin
retorno cadena.subcadena(num1,0,6)
fin
escribir (miFuncion1())
leer()
desde (i = 0; i < 13; i++)
escribir (i .. " - " .. miFuncion1())
fin
leer()
Ahora mismo el problema que estoy viendo es la variable i
, des-afortunadamente, Latino no tiene limites de alcance en sus variables, por lo tanto cuando declaras la variable i dentro del loop desde, es la misma i dentro de la función miFuncion1... eso es un problema que llevo un tiempo tratando de solucionar, pero aun sin éxito, mi consejo es que cambies el nombre de la variable i en la función miFuncion por otro nombre y eso pueda que ayude a solucionar tu problema