Ebben a cikkben megtanulja használni az infix jelöléseket egy függvény meghívására Kotlinban (példák segítségével).
Mielőtt megtanulná, hogyan hozhat létre infix jelöléssel rendelkező függvényt, vizsgáljuk meg két gyakran használt infix függvényt.
Amikor használja ||
és &&
műveletek, a fordító felnéz a vagy és és funkciók -kal, és felszólítja őket a motorháztető alatt.
Ez a két funkció támogatja az infix jelölést.
Példa: Kotlin vagy & és függvény
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") )
A program futtatásakor a kimenet a következő lesz:
eredmény = igaz eredmény = hamis
A fenti programban a a or b
helyett a.or(b)
, és a and b
helyett a.and(b)
használatos. Lehetséges volt, mert ez a két funkció támogatja az infix jelölést.
Hogyan hozhatunk létre függvényt infix jelöléssel?
Ha a függvény infix jelöléssel használhatja a függvényhívást Kotlinban
- tagfüggvény (vagy kiterjesztési függvény).
- csak egyetlen paramétere van.
infix
kulcsszóval van jelölve .
Példa: Felhasználó által definiált funkció Infix jelöléssel
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) )
A program futtatásakor a kimenet a következő lesz:
* * * * * * * * * * * * * * * *
Itt createPyramid()
egy infix függvény alkot piramisszerkezetet. Ez az osztály tagfüggvénye Structure
, csak egy típusú paramétert vesz fel Int
, és kulcsszóval kezdődik infix
.
A piramis sorainak száma függ a függvénynek átadott argumentumtól.