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 b
lugar de a.or(b)
y en a and b
lugar 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
infix
palabra 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 Int
y comienza con la palabra clave infix
.
El número de filas de pyramind depende del argumento pasado a la función.