ProgramandooIntentándolo

27 Mar 2018

Funciones de extensión en Kotlin

reset css

Las funciones de extensión son una característica muy interesante de Kotlin que nos permite añadir funciones a cualquier clase aunque no tengamos acceso a su código fuente y sin tener que crear una clase que la extienda.

Para definir una función de extensión en Kotlin simplemente tenemos que poner el nombre de la clase para la que queremos crear la función fun Clase.funcion(...){//...}.

Vamos a verlo con un ejemplo muy sencillo, por ejemplo si queremos que la clase Int tenga un método multiplicar para que multiple el número sobre el que se hace la operación por el que le pasemos como parametro solo tenemos que definir la función como hacemos normalmente pero indicando delante el nombre de la clase.

fun Int.multiplicar(numero: Int): Int { return this * numero; }

Dentro de la función tenemos acceso al objeto de la clase para el que ...

26 Mar 2018

Funciones en Kotlin

reset css

En Kotlin se pueden declarar funciones que estén dentro de clases como por ejemplo en Java, pero también se pueden crear funciones que no estén dentro de ninguna clase o que estén dentro de otra función, e incluso se pueden declarar funciones para extender las funcionalidades de cualquier clase aunque no tengamos acceso al código fuente de la clase en cuestión.

Realmente interesante, pero eso no es todo también tenemos expresiones Lambda, funciones de orden superior (funciones que pueden recibir como parámetros otras funciones y/o devolverlas como resultado) o funciones de una sola línea.

¿Cómo se declaran las funciones en Kotlin?

Para definir una función en kotlin tenemos que usar la palabra reservada fun seguida del nombre de la función y entre paréntesis se pueden indicar los parámetros que recibe la función en caso de que los tenga y finalmente tenemos que indicar ...

13 Feb 2018

Kotlin, Gestión de nulos (Null Safety)

kotlin null safety

En Kotlin los objetos por defecto no aceptan valores nulos, para que le podamos asignar un null tendremos que indicar que ese objeto realmente puede ser null. De esta forma vamos a poder garantizar que no se no producirá un NullPointerException en tiempo de ejecución sin necesidad de llenar todo el código de comprobaciones if (a != null) o if (b == null) cuando las variables no deban ser null en ningún caso, pero también nos da una vía de escape para que podamos tener los queridos NullPointerException.

Null Safety, no más NullPointerException

Kotlin es Null Safety, es decir, que gestiona los nulos de forma segura, de modo que puedes garantizar que tu código no va a producir NullPointerException.

Para empezar por defecto los objetos en Kotlin por defecto son not-null y si intentamos asignarle un null a una variable directamente no ...

4 Dic 2017

Cómo comprobar si un elemento está visible con jQuery

Comprobar si un elemento esta visible con Jquery

Es habitual querer comprobar si un elemento concreto se está mostrando o no para ejecutar una acción u otra, y como no podía ser de otra forma jQuery nos permite comprobar si un elemento se está mostrando o no con la función .is(':visible') o .is(':hidden') para hacer la comprobación al reves.

Hasta aquí todo es muy bonito pero ¿qué es lo que comprueba esta función en realidad? pues simplemente comprueba el valore de la propiedad display, si es none (#elemento {display: none;}) entonces el elemento no está visible y en cualquier otro caso sí lo está.

// Si elemento esta visible lo oculta y si no lo muestra if ($('#elemento').is(':visible')) { $('#elemento').hide(); } else { $('#elemento').show(); } // Si el elemento2 esta oculto lo indica por consola y si no ejecuta una funcion if ($('#elemento2').is(':hidden')) ...
28 Nov 2017

Los condicionales if, else y when en Kotlin

reset css

En Kotlin como en otros lenguajes de programación existen las sentencias condicionales para ejecutar un fragmento de código u otro en función de que se cumplan o no determinadas condiciones y los nombres para estas condiciones son los habituales if, else y when, el equivalente al switch de Java o JavaScript.

Para determinar si se cumple o no una condición se utilizan los booleanos true y false (ej. var isRojo:Boolean = false), que se pueden utilizar directamente o también pueden ser el resultado de hacer alguna comparación mediante < <= > >= == != e incluso de varias comparaciones distintas utilizando alguno de los operadores lógicos (&& || !)

if en Kotlin

Con if en Kotlin se evalúa la condición introducida entre los paréntesis y si es cierta (el resultado es true) entonces ejecuta el bloque de código del if y si ...