Kotlin-funksjonssamtale ved hjelp av Infix Notation

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 bstedet for a.or(b)og i a and bstedet 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 infixnø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 Intog starter med nøkkelord infix.

Antall rader i pyraminden avhenger av argumentet som sendes til funksjonen.

Interessante artikler...