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 b
stedet for a.or(b)
og i a and b
stedet 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
infix
nø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 Int
og starter med nøgleord infix
.
Antallet af rækker i pyraminden afhænger af argumentet, der sendes til funktionen.