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

Функция with

Функция with является стандартной функцией Kotlin, которая принимает объект и лямбда-выражение. Внутри лямбды объект доступен как this, что позволяет обращаться к его членам без явного указания имени объекта. Функция возвращает результат выполнения лямбда-выражения.

Синтаксис

inline fun <T, R> with(receiver: T, block: T.() -> R): R

Пример

Создадим класс Person и используем with для работы с его свойствами:

class Person(var name: String, var age: Int) val person = Person("Alice", 25) val res = with(person) { name = "Bob" age = 30 "$name is $age years old" } println(res)

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

String "Bob is 30 years old"

Пример

Использование with для работы со списком:

val numbers = mutableListOf(1, 2, 3) val sum = with(numbers) { add(4) add(5) sum() } println(sum)

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

Int 15

Пример

Использование with для работы с StringBuilder:

val str = with(StringBuilder()) { append("Hello") append(" ") append("World") toString() } println(str)

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

String "Hello World"

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

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