Tässä artikkelissa opit käyttämään infix-merkintöjä toiminnon kutsumiseksi Kotlinissa (esimerkkien avulla).
Ennen kuin opit luomaan funktion, jolla on infix-merkintä, tutkitaan kahta yleisesti käytettyä infix-funktiota.
Kun käytät ||ja &&toimintoja, kääntäjä etsii tai ja ja ja vastaavasti toimintoja, ja kutsuu niitä kuoren alle.
Nämä kaksi toimintoa tukevat infix-merkintää.
Esimerkki: Kotlin tai & ja funktio
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") )
Kun suoritat ohjelmaa, tulos on:
tulos = tosi tulos = väärä
Edellä mainittuun ohjelmaan, a or bsijaan a.or(b), ja a and bsen sijaan, että a.and(b)käytetään. Se oli mahdollista, koska nämä kaksi toimintoa tukevat infix-merkintää.
Kuinka luoda funktio infix-merkinnällä?
Voit soittaa toimintokutsun Kotlinissa käyttämällä infix-merkintää, jos funktio
- on jäsenfunktio (tai laajennustoiminto).
- on vain yksi parametri.
- on merkitty
infixavainsanalla.
Esimerkki: Käyttäjän määrittelemä toiminto, jossa on infix-merkintä
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) )
Kun suoritat ohjelmaa, tulos on:
* * * * * * * * * * * * * * * *
Tässä createPyramid()on infix-funktio, joka luo pyramidirakenteen. Se on luokan jäsenfunktio Structure, ottaa vain yhden tyyppisen parametrin Intja alkaa avainsanalla infix.
Pyramindin rivien määrä riippuu funktiolle välitetystä argumentista.








