Junior
30
0
questionbank

Что такое 'scope functions' в Kotlin и когда их следует использовать?

Answer from sobes.tech neural network

Scope functions позволяют выполнять блок кода в контексте объекта. Основные функции: let, run, with, apply, also. Каждая имеет свои особенности в отношении получателя (invoker, receiver) и возвращаемого значения.

ФункцияПолучательВозвращаемое значение
letitРезультат последнего выражения в блоке
runthisРезультат последнего выражения в блоке
withthis (не в качестве метода расширения)Результат последнего выражения в блоке
applythisСам объект настройки
alsoitСам объект настройки

Использование:

  • let: Для выполнения действий над объектом, допускающим значение null, или для введения локальной переменной с более коротким именем.
kotlin
  • run: Для выполнения блока кода с контекстом объекта (как with), но в качестве метода расширения, или когда требуется вычислить значение в контексте объекта.
kotlin

Scope functions позволяют выполнять блок кода в контексте объекта. Основные функции: let, run, with, apply, also. Каждая имеет свои особенности в отношении получателя (invoker, receiver) и возвращаемого значения.

ФункцияПолучательВозвращаемое значение
letitРезультат последнего выражения в блоке
runthisРезультат последнего выражения в блоке
withthis (не в качестве метода расширения)Результат последнего выражения в блоке
applythisСам объект настройки
alsoitСам объект настройки

Использование:

  • let: Для выполнения действий над объектом, допускающим значение null, или для введения локальной переменной с более коротким именем.
kotlin
  • run: Для выполнения блока кода с контекстом объекта (как with), но в качестве метода расширения, или когда требуется вычислить значение в контексте объекта.
kotlin

Register or sign in to get access to full answers for all questions from the question bank.

kotlinscope-functionslambdaextension-functionscode-readability