inicio | documentación | contacto
Version para imprimir Imprimir
Inicio » Documentación » Expresiones booleanas

Expresiones booleanas

Una expresión booleana es una variable, constante, método, o un conjunto de ellos combinados con operadores booleanos lógicos que, al ejecutarse, devuelven siempre verdadero o falso.

Las expresiones booleanas son necesarias en los bucles y estructuras condicionales, ya que en función del resultado de la expresión, se modificará el flujo del programa.

La expresión booleana más sencilla, son las propias constantes true y false, aunque una variable que contenga true o false es también una expresión booleana.

Otras expresiones booleanas pueden ser:

x
objeto.propiedad
mifuncion()
(b and c) or d
a > 1
a < otrafuncion()
objeto.propiedad <= 23
x != y
b == true
tercerafuncion() && var || objeto.propiedad > 3

Todas estas expresiones pueden devolver true o false.

Ver operadores.

Conversión

Una expresión booleana puede devolver un valor de cualquier tipo aunque no sea booleana, ya que será convertido a true o false en función de los siguientes casos

  1. Si el valor es booleano, entonces devuelve el propio valor true o false
  2. Si el valor es null, entonces devuelve false
  3. Si el valor es de tipo numérico, un valor 0 es tomado como false y cualquier otro valor como true
  4. Si el valor es de tipo Char, un valor '0' es tomado como false y cualquier otro carácter como true
  5. Si el valor es de tipo String o cualquier otro objeto, devolverá true si no es null (y devolverá @false@ si es null, como se explica en el segundo punto)

Más información en OGNL: Chapter 5. Coercion Objects to Types (http://www.opensymphony.com/ognl/html/LanguageGuide/coercion.html#coerceBoolean)

Esto puede ayudar a la validación de parámetros para averiguar si se han enviado o no. En el siguiente ejemplo, la función pintar() espera un parámetro mensaje de tipo String. Para validar si el parámetro enviado es null, simplemente se hace un if mensaje en vez de if mensaje != null, pues el resultado es equivalente:

def main
    pintar("texto")
    pintar()
end

def pintar(mensaje)
    if mensaje
        println mensaje
    else
        println "Error parámero es null. Debe especificar el mensaje a imprimir."
    endif
end
Última modificación: miércoles 14 de mayo de 2008 12:08:49
Fecha de creación: miércoles 19 de diciembre de 2007 10:20:38
Categorías: