Kotlina funkciju izsaukums, izmantojot Infix notāciju

Šajā rakstā jūs iemācīsities izmantot apzīmējumu, lai Kotlinā izsauktu funkciju (ar piemēru palīdzību).

Pirms uzzināt, kā izveidot funkciju ar papildinājuma apzīmējumu, izpētīsim divas parasti lietotās papildinājuma funkcijas.

Lietojot ||un &&darbojoties, kompilators meklē attiecīgi vai, un, un funkcijas, un izsauc tos zem pārsega.

Šīs divas funkcijas atbalsta infix apzīmējumus.

Piemērs: Kotlin vai & un 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") )

Palaidot programmu, izeja būs:

 rezultāts = patiess rezultāts = nepatiess

Iepriekš minētajā programmā tiek izmantots a or bnevis a.or(b), bet a and bvietā a.and(b). Tas bija iespējams, jo šīs divas funkcijas atbalsta infix apzīmējumus.

Kā izveidot funkciju ar infix apzīmējumu?

Jūs varat veikt funkcijas izsaukumu Kotlīnā, izmantojot funkcijas papildinājuma apzīmējumu

  • ir dalībnieka funkcija (vai paplašināšanas funkcija).
  • ir tikai viens parametrs.
  • ir atzīmēts ar infixatslēgvārdu.

Piemērs: lietotāja definēta funkcija ar Infix notāciju

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

Palaidot programmu, izeja būs:

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

Šeit createPyramid()ir papildinājuma funkcija, kas izveido piramīdas struktūru. Tā ir klases dalībnieka funkcija Structure, ņem tikai vienu tipa parametru Intun sākas ar atslēgvārdu infix.

Piramindas rindu skaits ir atkarīgs no argumenta, kas nodots funkcijai.

Interesanti raksti...