Kotlin-functieaanroep met tussenvoegselnotatie

In dit artikel leer je de tussenvoegselnotatie gebruiken om een ​​functie in Kotlin aan te roepen (met behulp van voorbeelden).

Voordat u leert hoe u een functie met tussenvoegselnotatie maakt, gaan we eerst eens kijken naar twee veelgebruikte tussenvoegselfuncties.

Wanneer u ||en &&bewerkingen gebruikt, zoekt de compiler respectievelijk naar of en en functies, en roept ze onder de motorkap.

Deze twee functies ondersteunen tussenvoegselnotatie.

Voorbeeld: Kotlin of & en functie

 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") )

Wanneer u het programma uitvoert, is de uitvoer:

 resultaat = waar resultaat = onwaar

In het bovenstaande programma wordt in a or bplaats van a.or(b), en in a and bplaats van a.and(b)gebruikt. Het was mogelijk omdat deze twee functies infix-notatie ondersteunen.

Hoe maak je een functie met tussenvoegselnotatie?

U kunt een functieaanroep in Kotlin maken met tussenvoegselnotatie als de functie

  • is een lidfunctie (of een extensiefunctie).
  • heeft slechts één enkele parameter.
  • is gemarkeerd met een infixtrefwoord.

Voorbeeld: door de gebruiker gedefinieerde functie met tussenvoegselnotatie

 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) )

Wanneer u het programma uitvoert, is de uitvoer:

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

Hier createPyramid()is een tussenvoegselfunctie die een piramidestructuur creëert. Het is een lidfunctie van de klasse Structure, heeft slechts één parameter van het type nodig Inten begint met een trefwoord infix.

Het aantal rijen van de pyraminde hangt af van het argument dat aan de functie is doorgegeven.

Interessante artikelen...