9. Controladores de Flujo (if, for, while)

La parte más importante de toda la programación es la lógica de cómo script es programado, y los controladores de flujo son los componentes básicos de esta construcción.

# If & else

Se utiliza para crear condiciones que deben cumplirse para que se ejecute una determinada pieza de código. El else es una condición que se ejecutará si la primera no es true.

if (block.number > 10000) {
  return true;
} else {
  return false;
}

# Loop for

Cuando necesitamos iterar varios elementos dentro de una matriz o mapeo, o ejecutar algo un número determinado de veces, podemos usar bucles for.

address payable [] listaDeDirecciones;

function enviaParaTodos() external payable {
  for (uint i = 0; i < listaDeDirecciones.length; i++) {
    listaDeDirecciones[i].transfer(1 ether);
  }
}

El valor de i empieza en cero e irá sumando 1 hasta llegar al valor almacenado en listaDeDirecciones.length que se encarga de devolver la longitud de la lista. De 1 a 1, el ciclo ejecutará el fragmento de código para cada dirección almacenada en listaDeDirecciones.

# loop While

Si necesitamos repetir un fragmento de código un número indefinido de veces o hasta que se cumpla una condición, usamos bucles while.

bool puedeContinuar = true;
while(puedeContinuar) {
  //...
  if() {
    puedeContinuar = false;
    or
    break;
    or
    continue; //Saltará a la próxima iteración.
  }
}

Observación: Esto puede gastar mucho gás, entonces úselo con precaución.

El bucle while seguirá ejecutándose hasta que se cumplan las condiciones para que se detenga y esta condición se puede construir con if seguido de break, que es el código que detendrá todo. Hay otra instrucción en este código que es continue, responsable de hacer que el ciclo "salte" al principio en lugar de ejecutarse hasta el final y comenzar nuevamente.

Last Updated: 9/10/2022, 4:27:54