Autor Tema: ¿Es posible hacer una función que incluya parte de un if?

0 Usuarios y 1 Visitante están viendo este tema.

28 Febrero, 2024, 03:25 am
Leído 52 veces

Tachikomaia

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 601
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Descripción real:
Spoiler
A continuación 2 funciones iguales hasta la marca roja y que son usadas en un mismo programa:

Obviamente no se ve todo, pero no creo que importe, lo importante es que quiero convertir lo repetido (verde y amarillo) en una misma función, pero así como está termina (rojo) en medio de un if (que empezó en la zona amarilla, donde todo aún es igual). ¿Es posible hacer una función que incluya lo amarillo o debo conformarme con incluir sólo lo verde?

Por si a alguien le interesa, las diferencias entre los códigos son:
1- El izquierdo crea variables en ciertos casos, hasta llegar a 15, y el otro nunca.
2- El izquierdo en cierto punto deja de ejecutarse y ejecuta al otro. Ese cuando deja de ejecutarse da un mensaje y termina el programa.
Básicamente eso.
[cerrar]

Descripción simplificada que podría tener errores:
Tengo 2 funciones iguales hasta cierto punto y para evitar repetición de código quiero crear una 3era que esté implicada por esas 2, son estas:
Código: [Seleccionar]
function F1 () {
        // Buscar soluciones.
        if (SolucionesHalladas == 4) {
            // Finalizar programa:
        } else if (condición A) {
            // Hacer B.
        } else if (condición C) {
// Hacer D.
        } else {
// Hacer E.
        }
    }
}
function F2 () {
        // Buscar soluciones.
        if (SolucionesHalladas == 4) {
            // Finalizar programa:
        } else if (condición A) {
            if (condición F) {
               if (condición G) {
                  // Hacer H.
}
    }
        } else {
// Hacer I.
        }
}
¿cómo sería la 3era, que podría estar incluída en ambas para evitar repetición de código?