Selles artiklis õpitakse Kotlini funktsiooni kutsumiseks infikside märkimist (näidete abil).
Enne kui saate õppida funktsiooni loomist, millel on infiksimärk, uurime kahte levinumat infiksi funktsiooni.
Kui kasutate ||
ja &&
toiminguid, otsib kompilaator vastavalt funktsioone või ja ja ja kutsub need kapoti alla.
Need kaks funktsiooni toetavad infiksi märkimist.
Näide: Kotlin või & ja funktsioon
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") )
Programmi käivitamisel on väljund järgmine:
tulemus = tõene tulemus = vale
Ülaltoodud programmis kasutatakse a or b
asemel a.or(b)
ja a and b
asemel a.and(b)
. See oli võimalik, kuna need kaks funktsiooni toetavad infiksi märkimist.
Kuidas luua funktsiooni koos infiksimärgistusega?
Kotlinis saate funktsiooni välja kutsuda, kasutades funktsiooni infokirja
- on liikme funktsioon (või laiendusfunktsioon).
- on ainult üks parameeter.
- on tähistatud
infix
märksõnaga.
Näide: kasutaja määratud funktsioon koos infiksi märkimisega
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) )
Programmi käivitamisel on väljund järgmine:
* * * * * * * * * * * * * * * *
Siin createPyramid()
on infiksi funktsioon, mis loob püramiidstruktuuri. See on klassi liige Structure
, võtab ainult ühe tüübi parameetri Int
ja algab märksõnaga infix
.
Püramindi ridade arv sõltub funktsioonile edastatud argumendist.