Llamada a la función de Kotlin usando notación infija

En este artículo, aprenderá a usar la notación infija para llamar a una función en Kotlin (con la ayuda de ejemplos).

Antes de aprender a crear una función con notación infija, exploremos dos funciones infijas de uso común.

Cuando usa las operaciones ||y &&, el compilador busca las funciones o y y respectivamente, y las llama bajo el capó.

Estas dos funciones admiten la notación infija.

Ejemplo: función Kotlin o & y

 fun main(args: Array) ( val a = true val b = false var result: Boolean result = a or b // a.or(b) println("result = $result") result = a and b // a.and(b) println("result = $result") )

Cuando ejecute el programa, la salida será:

 resultado = verdadero resultado = falso

En el programa anterior, en a or blugar de a.or(b)y en a and blugar de a.and(b)se usa. Fue posible porque estas dos funciones admiten la notación infija.

¿Cómo crear una función con notación infija?

Puede realizar una llamada a función en Kotlin usando notación infija si la función

  • es una función miembro (o una función de extensión).
  • tiene un solo parámetro.
  • está marcado con una infixpalabra clave.

Ejemplo: función definida por el usuario con notación infija

 class Structure() ( infix fun createPyramid(rows: Int) ( var k = 0 for (i in 1… rows) ( k = 0 for (space in 1… rows-i) ( print(" ") ) while (k != 2*i-1) ( print("* ") ++k ) println() ) ) ) fun main(args: Array) ( val p = Structure() p createPyramid 4 // p.createPyramid(4) )

Cuando ejecute el programa, la salida será:

  * * * * * * * * * * * * * * * * 

Aquí, createPyramid()hay una función infija que crea una estructura piramidal. Es una función miembro de la clase Structure, solo toma un parámetro de tipo Inty comienza con la palabra clave infix.

El número de filas de pyramind depende del argumento pasado a la función.

Articulos interesantes...