Un pequeño bug con la función cada_segundo

Hola a todos, decubrí un pequeño e insignificante bug con la función cada_segundo y su parámetro segundos.
Al utilizar la función de la siguiente forma:

cada_segundo(segundos:number) {
    if (this.pilas.es_multiplo(2, segundos)) {
      this.decir(segundos.toString() + " es múltiplo de 2");
    }
    else {
      this.decir(segundos.toString());
    }
  }

El actor va decir “es múltiplo de 2” cuando hayan transcurridos 2 y 4 segundos, pero de 6 en adelante ya no lo va decir. De hecho, el condicional se ejecuta como falso para 6,8,10,12… cuando no debería ser así. Esto sucede sin importar si es con cada 2 o 3 segundos, siempre a partir de 6 segundos parece que el condicional se vuelve falso.
SI en cambio usamos:

cada_segundo(segundos:number){

    if(this.pilas.es_multiplo(segundos,3)){
      this.decir(segundos.toString() + " es múltiplo de 3")
    }
    else {
      this.decir(segundos.toString());
    }
  }

El error de antes se arregla. El problema parece estar en si el primer parámetro de this.pilas.es_multiplo() es segundos o no.

En el siguiente proyecto a cada actor le puse uno de los códigos de antes. A partir de los 6 segundos la aceituna deja de reconocer los múltiplos:
Abrir este proyecto en el editor de pilas

1 Like

Gracias.
Vere el ejemplo que has compartirdo.
Abrazos.

Hola @lukeitor !!!, sí, voy a revisarlo mejor porque creo que documenté mal la función. Mi idea inicial era que la función es_multiplo retorne true cuando el primer argumento es múltiplo del segundo. Por ejemplo es_multiplo(6, 2) debería dar true, pero es_multiplo(2, 6) debería dar false.

Ahora que lo pienso tal vez la función debería decirnos si los números son múltiplos entre sí, ¿sin importar el orden?.. me quedo pensando a ver qué puede ser lo mejor.

Por cierto, sin cambiar la función, pero cambiando el mensaje creo que queda más claro qué busqué al hacer la función es_multiplo, igual estoy en duda si es lo mejor que funcione así o tendría que cambiarla… ¿qué te parece a vos?

https://app.pilas-engine.com.ar/#/proyecto/6aedb346-ed3e-42b5-9c4b-2f780a495bc6

2 Likes