Kotlin függvényhívás Infix jelöléssel

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 bhelyett a.or(b), és a and bhelyett 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.
  • infixkulcsszó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.

érdekes cikkek...