core | logical functions (lógica)
Las funciones lógicas de la biblioteca core | logical se usan por lo general para comparar datos de entrada y su resultado son los valores booleanos true o false. Estas funciones se suelen utilizar para probar datos antes de pasarlos, por medio de un filtro,a un subconjunto del componente de destino. Casi todas las funciones lógicas tienen esta estructura:
Parámetros de entrada = a | b o value1 | value2
Parámetro de salida = result
El resultado de la evaluación de dos nodos de entrada depende de los valores de entrada así como de los tipos de datos utilizados para la comparación. Por ejemplo, la comparación "less than" de los valores enteros 4 y 12 da como resultado el valor booleano "true" porque 4 es menor que 12. Si las dos cadenas de entrada contienen "4" y "12", entonces el análisis léxico da como resultado el valor de salida "false" porque "4" es alfabéticamente mayor que el primer carácter "1" del segundo operando (12).
Si todos los tipos de datos de entrada son del mismo tipo (p. ej. todos los nodos de entrada son de tipo numérico o son cadenas), entonces la comparación se hace para el tipo común. Si los nodos de entrada son de tipos distintos (p. ej. un integer y una cadena o una cadena y una fecha), entonces el tipo de datos utilizado para la comparación es el tipo de datos de entrada más general y menos limitado de los dos.
Antes de iniciarse la comparación de los dos valores, todos los valores de entrada se convierten en el tipo de datos común. Por ejemplo, el tipo de datos "string" es menos limitado que "integer". La comparación del valor entero 4 con la cadena "12" convierte el valor entero 4 en la cadena "4", que después se compara con la cadena "12".
Nota: | las funciones lógicas no se pueden usar para comprobar la existencia de valores null. Si se da un valor null como argumento de una función lógica, la función devuelve un valor null. Para más información consulte el apartado Valores Nil y Nillable). |