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 b
namiesto a.or(b)
a a and b
namiesto 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ý
infix
kľúč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 Int
a začína kľúčovým slovom infix
.
Počet riadkov pyramídy závisí od argumentu odovzdaného funkcii.