|
Tómende juplıq operatorınan paydalanıw mısalı keltirilgen
|
bet | 1/2 | Sana | 18.05.2024 | Hajmi | 71,61 Kb. | | #241377 |
Bog'liq 245-251
Temalar| 245
Aǵımda isleydi hám basqa aǵımdı qaytaradı. Ápiwayı operatordı terminal operatorı menen atlastirmaslik kerek, sebebi keyin kórsetiledi.
Tómende juplıq operatorınan paydalanıw mısalı keltirilgen:
Fun mainQ = runBlocking {
val nomerleri: Flow = // qısqalıq ushın ámelge asırıw jasırınǵan
val newFlow: Flow = numbersQ. map {
transform (ıt)
}
}
qızıqlı transformaciyanı toqtatıp turıw (i:Int): String = withContext (Dispatchers. Default) {keshigiw (10) // haqıyqıy jumıstı simulyatsiya qılıw
" ${i + 1}"}
Qızig'i sonda, karta operatorı Flow túrin Flowga aylantıradı. Alınǵan aǵımdıń túri operatorǵa uzatılǵan lambda ańlatpası tárepinen qaytarılǵan baha túri menen anıqlanadı.
K ontseptual dárejede tar operatorı jıynaqlar daǵı tar keńeytiw funksiyasına júdá jaqın. Biraq sezilerli parq bar: tar operatorına uzatılǵan lambda ańlatpası pauza qábiletin qollap -quwatlaytuǵın funksiya bolıwı múmkin.
Biz keyingi bólimde bir qatar paydalanıw jaǵdaylarında ulıwma operatorlardıń kóbisin kórip shıǵamız.
Terminal operatorları
Terminal operatorın basqa ápiwayı operatorlardan ańsatǵana ajıratıw múmkin, sebebi ol toqtatıp turıw funksiyası bolıp, aǵıs kompleksin jumısqa túsiredi. Siz qashannan berli jıynaw bayanatın kórgensiz.
ToList, collectLatest, first hám basqalar sıyaqlı basqa terminal operatorları bar. Tómende olardıń qısqasha xarakteristikası keltirilgen:
♦ toList berilgen aǵımdı toplaydı hám barlıq tóplanǵan elementlerdi óz ishine alǵan Dizimdi qaytaradı ;
♦ collectLatest berilgen aǵımdı berilgen ámel menen toplaydı. Ol jıynaw bayanatınan parıq etedi, sebebi túp sabaq jańa baha payda etgende, aldınǵı baha ushın háreket blokı biykar etiledi;
♦ aldın aǵıs tárepinen shıǵarılǵan birinshi elementti qaytaradı hám keyin aǵıs kompleksin óshiredi. Eger aǵıs bos bolsa, ol NoSuchElementException ni shıǵaradı. Bunnan tısqarı, bul operatordıń ózgeriwi ámeldegi - firstOrNull, eger aǵıs bos bolsa, null ma`nisin qaytaradı.
246| 10 -bap
|
| |