НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1307 of 1310 menu

Функция run

Функция run является scope-функцией в Kotlin, которая выполняет блок кода в контексте объекта и возвращает результат этого блока. Она может быть вызвана как функция-расширение для любого объекта или как самостоятельная функция.

Синтаксис

// Вариант 1: как функция-расширение val result = object.run { // код, работающий с object // последнее выражение - возвращаемое значение } // Вариант 2: как самостоятельная функция val result = run { // код блока // последнее выражение - возвращаемое значение }

Пример

Использование run как функции-расширения для настройки объекта:

val numbers = mutableListOf(1, 2, 3) val res = numbers.run { add(4) add(5) size } println(res)

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

Int 5

Пример

Использование run для безопасного выполнения кода с null-объектом:

val name: String? = null val length = name?.run { println(this) length } ?: 0 println(length)

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

Int 0

Пример

Использование самостоятельной версии run для вычисления значения:

val res = run { val x = 5 val y = 10 x + y } println(res)

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

Int 15

Пример

Использование run для преобразования объекта:

data class Person(val name: String, val age: Int) val person = Person("Alex", 25) val info = person.run { "Name: $name, Age: $age" } println(info)

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

String "Name: Alex, Age: 25"

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

  • функцию let,
    которая также работает с контекстом объекта
  • функцию apply,
    которая возвращает сам объект после выполнения блока
  • функцию with,
    которая похожа на run, но не является функцией-расширением
  • функцию also,
    которая выполняет действия с объектом и возвращает сам объект
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить