Функция rangeTo

Функция rangeTo создает объект диапазона, который включает все значения от начального до конечного включительно. Применяется к числам и символам, поддерживающим сравнение. Оператор .. является синтаксическим сахаром для этой функции.

Синтаксис

kotlinoperator fun Int.rangeTo(other: Int): IntRange
kotlinoperator fun Long.rangeTo(other: Long): LongRange
kotlinoperator fun Char.rangeTo(other: Char): CharRange

Пример

Создадим диапазон целых чисел от 1 до 5:

kotlinval range: IntRange = 1.rangeTo(5)
println(range)

Результат выполнения кода:

kotlinIntRange 1..5

Пример

Создадим диапазон символов от 'a' до 'e':

kotlinval charRange: CharRange = 'a'.rangeTo('e')
println(charRange)

Результат выполнения кода:

kotlinCharRange a..e

Пример

Использование оператора .. как альтернативы функции rangeTo:

kotlinval range = 1..5
val charRange = 'a'..'e'

println(range)
println(charRange)

Результат выполнения кода:

kotlinIntRange 1..5
CharRange a..e

Пример

Итерация по диапазону с помощью цикла for:

kotlinval range = 1.rangeTo(5)

for (num in range) {
  println(num)
}

Результат выполнения кода:

kotlin1
2
3
4
5

Пример

Проверка вхождения значения в диапазон с помощью оператора in:

kotlinval range = 10.rangeTo(20)
val number = 15

if (number in range) {
  println("$number is in range")
} else {
  println("$number is not in range")
}

Результат выполнения кода:

kotlin15 is in range

Смотрите также

  • функцию rangeUntil,
    которая создает диапазон, не включающий конечное значение
  • функцию downTo,
    которая создает диапазон в обратном порядке
  • функцию coerceIn,
    которая ограничивает значение указанным диапазоном
  • функцию coerceAtLeast,
    которая возвращает значение не меньше указанного