„Kotlin“ funkcijų iškvietimas naudojant „Infix“ žymėjimą

Šiame straipsnyje jūs išmoksite naudoti infix žymėjimą, kad iškviestumėte Kotlino funkciją (naudodamiesi pavyzdžiais).

Prieš sužinodami, kaip sukurti funkciją su infix žymėjimu, panagrinėkime dvi dažniausiai naudojamas infix funkcijas.

Kai naudojate ||ir &&operacijas, kompiliatorius ieško atitinkamai arba funkcijų, ir iškviečia jas po gaubtu.

Šios dvi funkcijos palaiko infix žymėjimą.

Pavyzdys: Kotlin arba & ir 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") )

Kai paleisite programą, išvestis bus:

 rezultatas = tikras rezultatas = klaidingas

Pirmiau minėtoje programoje naudojama a or bvietoj a.or(b), ir a and bvietoj a.and(b). Tai buvo įmanoma, nes šios dvi funkcijos palaiko infix žymėjimą.

Kaip sukurti funkciją su infix žymėjimu?

Galite skambinti funkcija Kotlin, naudodami infix žymėjimą, jei funkcija

  • yra nario funkcija (arba išplėtimo funkcija).
  • turi tik vieną parametrą.
  • yra pažymėtas infixraktiniu žodžiu.

Pavyzdys: vartotojo apibrėžta funkcija su užrašų žymėjimu

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

Kai paleisite programą, išvestis bus:

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

Čia createPyramid()yra infix funkcija, sukurianti piramidės struktūrą. Tai yra klasės nario funkcija Structure, užima tik vieną tipo parametrą Intir prasideda nuo raktinio žodžio infix.

Piramidės eilučių skaičius priklauso nuo argumento, perduoto funkcijai.

Įdomios straipsniai...