Kotlin-funktionsopkald ved hjælp af Infix Notation

I denne artikel lærer du at bruge infix-notation til at kalde en funktion i Kotlin (ved hjælp af eksempler).

Før du lærer, hvordan du opretter en funktion med infix-notation, lad os udforske to almindeligt anvendte infix-funktioner.

Når du bruger ||og &&betjener, ser compileren op henholdsvis eller og og fungerer og kalder dem under emhætten.

Disse to funktioner understøtter infix-notation.

Eksempel: Kotlin eller & og funktion

 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 kører programmet, vil output være:

 resultat = sandt resultat = falsk

I ovenstående program bruges i a or bstedet for a.or(b)og i a and bstedet for a.and(b). Det var muligt, fordi disse to funktioner understøtter infix-notation.

Hvordan oprettes en funktion med infixnotation?

Du kan foretage et funktionsopkald i Kotlin ved hjælp af infix-notation, hvis funktionen

  • er en medlemsfunktion (eller en udvidelsesfunktion).
  • har kun en enkelt parameter.
  • er markeret med infixnøgleord.

Eksempel: Brugerdefineret funktion med infixnotation

 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 kører programmet, vil output være:

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

Her createPyramid()er en infix-funktion, der skaber en pyramidestruktur. Det er en medlemsfunktion i klassen Structure, tager kun en parameter af typen Intog starter med nøgleord infix.

Antallet af rækker i pyraminden afhænger af argumentet, der sendes til funktionen.

Interessante artikler...