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

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

    Первая на нашем пути - функция apply. Ее можно считать функцией настройки: она позволяет вызвать несколько функций для объекта-получателя и настроить его для дальнейшего использования. После выполнения указанного лямбда-выражения apply возвращает настроенный объект-получатель.

    Функцию apply можно использовать, чтобы уменьшить количество повторений при подготовке объекта к использованию. Вот пример настройки экземпляра файла без apply:

  val menuFile = File("menu-file.txt") 
  menuFile.setReadable(true) 
  menuFile.setWritable(true) 
  menuFile.setExecutable(false) 

    Используя функцию apply, то же самое можно реализовать меньшим количеством кода:

  val menuFile = File("menu-file.txt").apply { 
    setReadable(true) 
    setWritable(true) 
    setExecutable(false)
  }

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

    Такое поведение иногда называют ограничением относительной области видимости (relative scoping), потому что вызовы всех функций внутри лямбды относятся к объекту-приемнику:

  val menuFile = File("menu-file.txt").apply { 
    setReadable(true)    // На самом деле, menuFile.setReadable(true) 
    setWritable(true)    // На самом деле, menuFile.setWritable(true) 
    setExecutable(false) // На самом деле, menuFile.setExecutable(false)
  }

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




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