Tag Archive for mande

If – Unless en Ruby.

Definitivamente si has programado en otros lenguajes estarás familiarizado con la sentencia if, sin embargo, la instrucción unless probablemente te parezca interesante así que te invito a seguir leyendo el artículo.

La instrucción if permite evaluar una operación lógica y en base al resultado ejecutar ciertas instrucciones u otras, en la vida real es como tomar una decisión y elegir entre dos caminos.

La estructura de la sentencia if es la siguiente:

 if condicion
   #Conjunto de instrucciones a realizar
 end

Donde como sabes, “condicion” será reemplazado con una operación lógica, y el comentario “#Conjunto de instr…” se reemplazará con las sentencias de código que quieras que se ejecuten si se cumple la condición.

Los lenguajes de programación dan la facilidad de también ejecutar algo si la condición no se cumple, esto a través de la instrucción else. Veamos la estructura:

if condicion
   #Se cumplio la condicion
else
   #No se cumplio la condicion
end

Como verás, en este caso sustituyes el comentario “No se cumplio…” por las instrucciones de código a ejecutar si no se cumple la condición.

Unless.

En programación como en matemáticas existe el operador ! o NOT, que básicamente invierte la respuesta de una operación lógica, es decir, si la operación es verdadera la vuelve falsa y si es falsa la vuelve verdadera, este operador se utiliza mucho cuando queremos que se ejecuten instrucciones cuando NO se cumpla una condición, ejemplo:

if not div == 0
 puts 5/div
end

En el ejemplo anterior evaluamos que el valor entre el que dividimos no sea 0, para que no mande un error, y para ello utilizamos el operador NOT. Todo esto se menciona porque en Ruby existe la instrucción UNLESS, que literalmente cumple la función del operador NOT, veamos el mismo ejemplo anterior.

unless div == 0
 puts 5/div
end

Unless ejecuta las instrucciones si la condición es falsa, literalmente dice ejecuta esto A MENOS QUE esta condición sea verdadera, a mi parecer bastante práctico y más claro.

Con esto concluimos este artículo, en el siguiente hablaremos de la sentencia case.