A blog about data, information and Tech by Mario Alberich

        

Ping (IV) - Condiciones y operadores de comparación

Los if's y else's no son muy diferentes en Phing que en el resto de lenguajes. Sí cambia el formato en el que se presentan, debido a la propia estructura del XML. Y en algunos casos es necesario atender a los detalles.

El if más simple


Aquí lo tienes. Poco más simple puede ser:


a = b


También puedes añadir un else...


a = b


a != b


O un elseif...

 


a = b



a = c


a != b


Entonces, ¿ya está? No, ahora se complica un pelín más, pero sólo un pelín.

Operadores booleanos en la comparación


A diferencia de otros muchas tareas (o tags, si lo prefieres) de Phing, if no lleva directamente argumentos, sino que todo se realiza mediante los tags hijos (nested elements en la documentación de Phing). Entonces, una comparación que incluya un operador OR se mostraría así:





...


Pues no parece tan difícil, ¿verdad? Pues a ver con un not...







...


Y entonces, un and dentro del or, ¿cómo queda?










...


Todo esto se puede ir complicando hasta ciertos límites.  Lo que sucede es que los mismos tags actúan como "paréntesis", definen el contexto de la comparación, por lo que está claro qué orden de comparaciones se ejecutarán en cada estado de la operación.

Al final, no resulta tan difícil, ¿verdad?

Operadores que podemos usar dentro de un if


Aquí tienes una lista de los nested operators que puedes utilizar dentro de un bloque if. échale un vistazo, seguro que se te ocurren cosas ;-).

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.