Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

IntRange.contains în Kotlin

Lucrul cu un interval a..b: in verifică apartenența, first și last dau capetele, reversed îl inversează.

Sintaxă
operator fun IntRange.contains(value: Int): Boolean   // x in a..b
val IntProgression.first: Int
val IntProgression.last: Int
fun IntProgression.reversed(): IntProgression

Ce face IntRange.contains

x in 18..65 apelează contains și verifică dacă x este între 18 și 65, inclusiv capetele. Este mai scurt și mai clar decât x >= 18 && x <= 65. Negarea este !in.

first este primul număr din interval, iar last ultimul număr atins efectiv: la 1..10 step 4 ultimul este 9, nu 10. reversed() returnează același interval parcurs în sens invers, ca un downTo.

Parametri

Parametru Descriere
value Pentru contains: numărul verificat.

Ce returnează

contains: Boolean. first/last: Int. reversed: un IntProgression.

Exemple

Exemplul 1: Categorii de vârstă

Fiecare in din when verifică un interval.

fun categorie(varsta: Int) = when (varsta) {
    in 0..13 -> "copil"
    in 14..17 -> "adolescent"
    in 18..64 -> "adult"
    else -> "senior"
}

fun main() {
    for (v in listOf(7, 16, 30, 70)) println("$v ani: ${categorie(v)}")
    println((1..10).contains(5))
    println(11 !in 1..10)
}

Rezultat

7 ani: copil
16 ani: adolescent
30 ani: adult
70 ani: senior
true
true

Exemplul 2: first, last și reversed

Cu step 4, ultimul număr atins este 9. Intervalul inversat începe de la 9.

fun main() {
    val r = 1..10 step 4
    println(r.toList())
    println("first=${r.first}, last=${r.last}")
    println(r.reversed().toList())
    println((1..5).reversed().toList())
}

Rezultat

[1, 5, 9]
first=1, last=9
[9, 5, 1]
[5, 4, 3, 2, 1]

Exemplul 3: Interval gol

Un interval în care începutul este mai mare decât sfârșitul nu conține nimic.

fun main() {
    val gol = 5..1
    println(gol.isEmpty())
    println(3 in gol)
    println(gol.toList())
}

Rezultat

true
false
[]

Greșeli frecvente

  • Crezi că last este mereu capătul scris. La un pas mai mare decât 1, last este ultimul număr atins, care poate fi mai mic.
  • Scrii 5..1 pentru numărare inversă. Este un interval gol; folosește (1..5).reversed() sau 5 downTo 1.

Comenzi înrudite

  • Int.until: Construiesc șiruri de numere pentru bucle: until fără capătul de sus, downTo descrescător, step cu pas.
  • Range-uri (.., ..<, until, downTo, step): Intervale de numere sau caractere: .. include capătul, ..< și until îl exclud, downTo numără invers, step sare.
  • when: Alege o ramură după valoarea unei expresii sau după prima condiție adevărată; înlocuiește switch din alte limbaje.
  • in și !in: in verifică dacă o valoare aparține unui interval, unei colecții sau unui text; tot in se folosește în for.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: IntRange.contains

Ai o nelămurire despre utilizarea comenzii IntRange.contains sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.