latino icon indicating copy to clipboard operation
latino copied to clipboard

Error al invocar Función dentro de un ciclo.

Open FrkL81 opened this issue 2 years ago • 1 comments

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()

FrkL81 avatar Oct 13 '22 14:10 FrkL81

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

MelvinG24 avatar Oct 26 '22 13:10 MelvinG24