I denne artikkelen lærer du å bruke infiks-notasjon for å kalle en funksjon i Kotlin (ved hjelp av eksempler).
Før du lærer hvordan du oppretter en funksjon med infiksnotasjon, la oss utforske to ofte brukte infix-funksjoner.
Når du bruker ||
og &&
opererer, ser kompilatoren opp henholdsvis for og og fungerer, og kaller dem under panseret.
Disse to funksjonene støtter infiksnotasjon.
Eksempel: Kotlin eller & og funksjon
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") )
Når du kjører programmet, vil utdataene være:
resultat = sant resultat = usant
I programmet ovenfor brukes i a or b
stedet for a.or(b)
og i a and b
stedet for a.and(b)
. Det var mulig fordi disse to funksjonene støtter infiksnotasjon.
Hvordan lage en funksjon med infiksnotasjon?
Du kan foreta et funksjonsanrop i Kotlin ved hjelp av infiks-notasjon hvis funksjonen
- er en medlemsfunksjon (eller en utvidelsesfunksjon).
- har bare en enkelt parameter.
- er merket med
infix
nøkkelord.
Eksempel: Brukerdefinert funksjon med infiksnotasjon
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) )
Når du kjører programmet, vil utdataene være:
* * * * * * * * * * * * * * * *
Her createPyramid()
er en infiks-funksjon som skaper en pyramidestruktur. Det er en medlemsfunksjon i klassen Structure
, tar bare én parameter av typen Int
og starter med nøkkelord infix
.
Antall rader i pyraminden avhenger av argumentet som sendes til funksjonen.