Š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 b
nevis a.or(b)
, bet a and b
vietā 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
infix
atslē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 Int
un sākas ar atslēgvārdu infix
.
Piramindas rindu skaits ir atkarīgs no argumenta, kas nodots funkcijai.