Ce face repeat
repeat(n) { ... } este cea mai scurtă buclă din Kotlin: rulează blocul de n ori. În bloc, it este indicele repetării curente, de la 0 la n - 1. Dacă n este 0 sau negativ, blocul nu rulează deloc.
Este potrivită când știi doar de câte ori trebuie făcut ceva. Când ai nevoie de pas, de numărătoare inversă sau de break, folosește for (i in 1..n): într-un repeat nu poți folosi break sau continue, iar return simplu iese din toată funcția.
Parametri
| Parametru | Descriere |
|---|---|
times: Int |
De câte ori rulează blocul. |
action: (Int) -> Unit |
Blocul de cod; primește indicele repetării (de la 0) ca it. |
Ce returnează
Nimic (Unit).
Exemple
Exemplul 1: Repetare simplă și indicele it
fun main() {
repeat(3) {
println("Bună ziua!")
}
repeat(4) {
println("Pasul ${it + 1} din 4")
}
}
Rezultat
Bună ziua!
Bună ziua!
Bună ziua!
Pasul 1 din 4
Pasul 2 din 4
Pasul 3 din 4
Pasul 4 din 4
Exemplul 2: Desenarea unui triunghi
Două repeat imbricate: cel exterior dă rândul, cel interior pune stelele. Parametrii au nume ca să nu se confunde.
fun main() {
repeat(4) { rand ->
repeat(rand + 1) { print("*") }
println()
}
}
Rezultat
*
**
***
****
Greșeli frecvente
- Crezi că
itîncepe de la 1. Începe de la 0; pentru numărătoare de la 1 scrieit + 1. - Încerci să folosești
breakîn repeat. Nu compilează, pentru că blocul este o lambda; folosește o buclăforsauwhile. - Imbrici două repeat și folosești
itîn cel interior crezând că e al celui exterior. Dă nume parametrilor:repeat(3) { rand -> ... }.