#Kata Partial Functions y Lifting con Scala.

En este post te voy a explicar como funciona el lifting con partial functions.

Primeros pasos.

Una partial function, es una función que aplica solamente a un conjunto de elementos determinados.

¿Qué es lifting?.

Lifting es modificar el comportamiento de una función que no retorna una option, para que pueda trabajar con Option, Some y None, sin necesidad de tocar la firma original o produciendo una segunda función.

Ejemplo:

En la siguiente función parcial solo divido dos números. Tengo varios escenarios que la naturaleza de la división de los valores numéricos no puede retornarme un valor. Me refiero a la división entre cero, y la división sobre cero.

La función parcial te permite especificar los casos que no se pueden cubrir. Puedes hacerlo en el cuerpo del método, o haciendo override del método isDefinedAt.

Para hacer lifting solamente tienes que llamar lift de la partial function. Esta va a retornar Some cuando la función entre en el rango especificado, y None cuando los parámetros no estén en la cobertura de la función.

 

 

Gustavo Sánchez