Шаг 103.
Основы Kotlin.
Стандартные функции. Функция also

    На этом шаге мы рассмотрим назначение и применение этой функции.

    Функция also похожа на функцию let. Как и let, also передает объект-приемник как аргумент в лямбду. Но есть одно большое различие между let и also: вторая возвращает объект-приемник, а не результат лямбды.

    Это делает also особенно полезной для добавления различных побочных эффектов. Пример ниже дважды вызывает also для выполнения двух разных операций: первая выводит имя файла, а вторая записывает содержимое файла в переменную fileContents.

  var fileContents: List<String>
  File("file.txt")
    .also {
      print(it.name)
    }.also {
      fileContents = it.readLines()
  }

    Так как also возвращает объект-приемник, а не результат лямбды, с ее помощью можно вызвать длинную цепочку функций относительно оригинального объекта-приемника.

    На следующем шаге мы рассмотрим функцию takeIf.




Предыдущий шаг Содержание Следующий шаг