A blog about data, information and IT, by Mario Alberich

Jun 07
2013

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 ;-).

Tags

gestión documental 10     Recuperación información 11     Linux 7     Usabilidad 5     open source 3     Tagging 12     lógica borrosa 2     fuentes de información 12     Google 6     off-topic 6     spam 2     grafos 6     Web social 11     modelización 12     Productividad 11     buscadores 2     utilidades 17     Profesionales 9     SEO 5     estándares 3     veracidad 3     relevancia 2     lingüística 2     PLN 2     lenguajes documentales 2     apis-mashups 3     reseñas 7     Flash 7     Gráficos estadísticos 13     Publicidad 3     Innovación 5     muestreo estadístico 9     PHP 14     internet 2     testeo 12     desarrollo 3     visualizacion 36     javascript 16     datos abiertos 9     elecciones 2     simulación 5     html5 7     phing 9     ssh 2     seguridad 3     indicadores 2     demografía 3     media 2     algoritmos 7     shell 4     mysql 2     backup 2     big data 6     twitter 2     d3js 11     revealjs 2     metodología 6     data-journalism 6     smartcities 2     NYT 2     privacidad 3     benchmarking 4     recopilaciones 21     magento 5     formacion 2     github 2     HHVM 3     psicología 2     angularjs 3     grep 2     nodejs 5     promises 2     mapreduce 3     crossfilter 2     exploración de datos 2     machine learning 2    

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