Kotlin funkcijski klic z uporabo Infix notacije

V tem članku se boste naučili uporabljati zapis infix za klicanje funkcije v Kotlinu (s pomočjo primerov).

Preden se naučite, kako ustvariti funkcijo z zapisom infix, raziščimo dve pogosto uporabljeni funkciji infix.

Ko uporabljate ||in &&operacije, prevajalnik poišče funkcije oziroma in in ter jih pokliče pod pokrovom.

Ti dve funkciji podpirata zapis infiksa.

Primer: Kotlin ali & in funkcija

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

Ko zaženete program, bo rezultat:

 rezultat = resničen rezultat = napačen

V zgornjem programu se uporablja a or bnamesto a.or(b)in a and bnamesto a.and(b). To je bilo mogoče, ker ti dve funkciji podpirata zapis infiksa.

Kako ustvariti funkcijo z zapisom infix?

Če funkcija deluje, lahko v Kotlinu pokličete funkcijo z zapisom infix

  • je funkcija člana (ali razširitvena funkcija).
  • ima samo en sam parameter.
  • je označena s infixključno besedo.

Primer: Uporabniško določena funkcija z zapisom Infix

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

Ko zaženete program, bo rezultat:

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

Tu createPyramid()je funkcija infiksa, ki ustvari piramidno strukturo. Je članska funkcija razreda Structure, zavzame le en parameter tipa Intin se začne s ključno besedo infix.

Število vrstic piraminde je odvisno od argumenta, posredovanega funkciji.

Zanimive Članki...