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 b
namesto a.or(b)
in a and b
namesto 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
infix
ključ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 Int
in se začne s ključno besedo infix
.
Število vrstic piraminde je odvisno od argumenta, posredovanega funkciji.