Kotlin-Funktionsaufruf mit Infix-Notation

In diesem Artikel lernen Sie, wie Sie mithilfe der Infix-Notation eine Funktion in Kotlin aufrufen (anhand von Beispielen).

Bevor Sie lernen, wie Sie eine Funktion mit Infix-Notation erstellen, wollen wir zwei häufig verwendete Infix-Funktionen untersuchen.

Wenn Sie ||und &&Operationen verwenden, sucht der Compiler nach oder und und Funktionen und ruft sie unter der Haube auf.

Diese beiden Funktionen unterstützen die Infixnotation.

Beispiel: Kotlin oder & und 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") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Ergebnis = wahr Ergebnis = falsch

Im obigen Programm wird a or banstelle von a.or(b)und a and banstelle von a.and(b)verwendet. Dies war möglich, da diese beiden Funktionen die Infixnotation unterstützen.

Wie erstelle ich eine Funktion mit Infix-Notation?

Sie können in Kotlin einen Funktionsaufruf mit Infix-Notation durchführen, wenn die Funktion

  • ist eine Mitgliedsfunktion (oder eine Erweiterungsfunktion).
  • hat nur einen einzigen Parameter.
  • ist mit infixSchlüsselwort markiert .

Beispiel: Benutzerdefinierte Funktion mit Infix-Notation

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

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

Hier createPyramid()ist eine Infix-Funktion, die eine Pyramidenstruktur erstellt. Es ist eine Mitgliedsfunktion der Klasse Structure, nimmt nur einen Parameter vom Typ Intund beginnt mit dem Schlüsselwort infix.

Die Anzahl der Zeilen der Pyramide hängt von dem an die Funktion übergebenen Argument ab.

Interessante Beiträge...