El operador ternario.

El operador ternario es un operador un tanto especial. Se encuentra en bastante lenguajes y, para mi sorpresa, poca gente que conozco sabe de qué se trata. Dicho operador es muy sencillo:

(condicion_booleana) ? si_true : si_false;

Como podéis comprobar es un sustituto del if para ciertos casos. Al igual que odio el switch, me encanta el operador ternario. Por ejemplo, las siguientes porciones de código en C# y Java:

if(condicion_booleana) System.Console.WriteLine("Login válido.") ;
else System.Console.WriteLine("Login inválido.");

if(condicion_booleana) System.out.println("Login válido.");
else System.out.println("Login inválido.");

por:

System.Console.WriteLine("Login "+((condicion_booleana)?"":"in")+"válido.");

System.out.println("Login "+((condicion_booleana)?"":"in")+"válido.");

respectivamente. A mis alumnos actuales (Jorge, Juan y Pablo) les dejó asombrados, aunque la verdad es que es algo que suelo utilizar siempre que puedo.

Otro ejemplo sería la creación de la cadena “Se ha realizado.”/”No se ha realizado”:

((condicion_booleana)?"S":"No s")+"e ha realizado."

Mañana más y mejor.