If / else que devuelven valores
聽聽聽聽聽聽聽聽En Zig, un bloque 聽if/else聽puede devolver un valor聽para asignarlo a una variable聽o constante. Eso s铆 - debe usarse en forma de expresi贸n simple, sin llaves {}聽para la definici贸n de los bloques:
if_else_return.zig |
|
const聽std聽=聽@import("std"); const聽print聽=聽std.debug.print; pub聽fn聽main()聽void聽{ 聽 聽const聽n_age聽=聽18; 聽 聽const聽s_response聽=聽if聽(n_age聽<聽18)聽"Menor de edad"聽else聽"Mayor de edad"; 聽 聽print("Eres {s}\n",聽.{s_response}); } |
|
$ zig run if_else_return.zig |
|
Eres Mayor de edad |
Cuando devolvemos un valor desde un if/else, resulta muy 煤til para asignar un valor en funci贸n de una condici贸n de manera compacta.
En este ejemplo, el valor asignado a s_response聽se decide seg煤n la condici贸n y queda como una constante inmutable. Inmutable聽quiere decir que no se puede cambiar y es una buena pr谩ctica de programaci贸n: muchas veces, el hecho de no poder cambiar el valor de un identificador despu茅s de asignarlo nos evita bugs dif铆ciles de detectar.