Chiamata alla funzione Kotlin utilizzando la notazione infissa

In questo articolo imparerai a usare la notazione infisso per chiamare una funzione in Kotlin (con l'aiuto di esempi).

Prima di imparare come creare una funzione con notazione infisso, esploriamo due funzioni infisso comunemente usate.

Quando usi ||e le &&operazioni, il compilatore cerca rispettivamente o e e le funzioni e le chiama sotto il cofano.

Queste due funzioni supportano la notazione infissa.

Esempio: Kotlin o & and function

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

Quando esegui il programma, l'output sarà:

 risultato = vero risultato = falso

Nel programma precedente, a or binvece di a.or(b), e a and binvece di a.and(b)viene utilizzato. È stato possibile perché queste due funzioni supportano la notazione infissa.

Come creare una funzione con la notazione infissa?

Puoi effettuare una chiamata di funzione in Kotlin usando la notazione infissa se la funzione

  • è una funzione membro (o una funzione di estensione).
  • ha un solo parametro.
  • è contrassegnato con la infixparola chiave.

Esempio: funzione definita dall'utente con notazione infissa

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

Quando esegui il programma, l'output sarà:

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

Ecco createPyramid()una funzione infisso che crea una struttura piramidale. È una funzione membro della classe Structure, accetta solo un parametro di tipo Inte inizia con parola chiave infix.

Il numero di righe della piramide dipende dall'argomento passato alla funzione.

Articoli interessanti...