Volanie funkcie Kotlin pomocou notácie Infix

V tomto článku sa naučíte používať infixovú notáciu na volanie funkcie v Kotline (pomocou príkladov).

Predtým, ako sa naučíte, ako vytvoriť funkciu s infixovou notáciou, preskúmame dve bežne používané funkcie infix.

Keď použijete ||a &&operácie, kompilátor vyhľadá a alebo a a funguje a zavolá ich pod kapotou.

Tieto dve funkcie podporujú notáciu infix.

Príklad: Kotlin alebo & a funkcia

 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") )

Po spustení programu bude výstup:

 výsledok = pravdivý výsledok = nepravdivý

Vo vyššie uvedenom programe sa používa a or bnamiesto a.or(b)a a and bnamiesto a.and(b). Bolo to možné, pretože tieto dve funkcie podporujú infixovú notáciu.

Ako vytvoriť funkciu s infixovou notáciou?

Môžete vyvolať funkciu v Kotline pomocou infixovej notácie, ak je funkcia

  • je členská funkcia (alebo rozšírená funkcia).
  • má iba jeden jediný parameter.
  • je označený infixkľúčovým slovom.

Príklad: Funkcia definovaná používateľom s notáciou Infix

 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) )

Po spustení programu bude výstup:

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

Tu createPyramid()je funkcia infix, ktorá vytvára pyramídovú štruktúru. Je to členská funkcia triedy Structure, má iba jeden parameter typu Inta začína kľúčovým slovom infix.

Počet riadkov pyramídy závisí od argumentu odovzdaného funkcii.

Zaujímavé články...