Позив функције Котлин коришћењем Инфик нотације

У овом чланку ћете научити да користите инфиксну нотацију за позивање функције у Котлину (уз помоћ примера).

Пре него што научите како да креирате функцију која има инфиксни запис, истражимо две најчешће коришћене инфикс функције.

Када користите ||и &&операције, преводилац тражи функције и и и функције и позива их испод хаубе.

Ове две функције подржавају инфиксну нотацију.

Пример: Котлин или & и функција

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

Када покренете програм, излаз ће бити:

 резултат = тачно резултат = нетачно

У горњој програму a or bуместо a.or(b)и a and bуместо a.and(b)користи. То је било могуће јер ове две функције подржавају инфиксну нотацију.

Како створити функцију са инфиксним записом?

Можете да упутите позив функције у Котлину користећи инфиксну нотацију ако функција

  • је функција члана (или функција проширења).
  • има само један једини параметар.
  • је означена 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) )

Када покренете програм, излаз ће бити:

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

Овде createPyramid()је инфиксна функција која ствара пирамидну структуру. То је функција члана класе Structure, узима само један параметар типа Intи започиње са кључном речи infix.

Број редова пирамиде зависи од аргумента прослеђеног функцији.

Занимљиви Чланци...