If / Else

If / Else

Si queremos que algo se ejecute después del if, sin tener en cuenta la condición evaluada, basta con colocarlo fuera del bloque encerrado por las llaves. Y si queremos ejecutar un bloque de código sólo cuando la condición del if no se cumple - es decir cuando devuelve false - entonces es cuando tenemos que añadir un bloque  else {} a continuación.


if (Expresión booleana){

    el código contenido aquí se ejecuta sólo si la Expresión booleana devuelve true 

} else {

   el código contenido en este bloque se ejecuta si la Expresión booleana devuelve false

}


El flujo del programa con un if / else cubre los dos casos posibles:

Inicio del programa

pub fn main() void { …

const n_a = 2 + 1;

if (n_a > 3) {

 print("n_a es mayor de 3", .{});

} else {

 print("n_a no es mayor de 3", .{});

}

   

 …

Final del programa

}

Después de esa bifurcación el camino del programa vuelve a unirse.

Vamos a ampliar el ejemplo anterior añadiendo un bloque else para mostrar un mensaje de ánimo en caso de que el jugador no haya conseguido batir el tiempo previo:

better_time_2.zig

const std = @import("std");

const print = std.debug.print;

pub fn main() void {

    const n_time_record = 10.0;

    const n_time = 11.0;

    if (n_time < n_time_record) {

      print("¡Felicidades! Con tu tiempo: {}, Has superado el récord anterior ({}).\n", .{ n_time, n_time_record });

    } else {

      print("Sigue intentándolo. Tu tiempo: {}, es peor que el récord anterior ({}).\n", .{ n_time, n_time_record });

    }

 

}

$ zig run better_time_2.zig

Sigue intentándolo. Tu tiempo: 11 es peor que el récord anterior (10).

Seguro que aquí te preguntarás: ¿y si quiero ejecutar un bloque de código cuando la primera condición no se cumple, pero me interesa comprobar si se cumple una segunda condición?

If
If / Else if / Else
© 2025 Zen of Zig