Android(Kotlin)

kotlin scope function

----___<<<<< 2021. 10. 31. 18:12

 kotlin scope function에 관한 것입니다.

 

 let with run apply also와 같은 scope(범위) function 인데, 이 부분을 한번 무엇인지 살펴보고 가겠습니다.

 

 우선을 이런 기능들을 코드를 효율적으로 짜고, 가독성을 높이거나 코드량을 줄이기 위해 사용하는데, 이게 뭔지 보시면

 

 간단하게 also를 사용해봤습니다.

 

 

 

 간단하게 하나를 봤는데, 대부분 이 친구들을 비슷비슷한 기능을 합니다.

 

 공식문서에서는 어떻게 설명하고 있냐하면

 

 To help you choose the right scope function for your case, we'll describe them in detail and provide usage recommendations. Technically, functions are interchangeable in many cases, so the examples show the conventions that define the common usage style.

 

 그러니깐 예제 보면서 알아서 써라 라고 적혀있습니다.

 

 하나씩 보면서 가보겠습니다.

 

 1. let 

 

 let is often used for executing a code block only with non-null values. To perform actions on a non-null object, use the safe call operator ?. on it and call let with the actions in its lambda.

 

 non null일 때 실행해야 할 때 사용합니다.

 

 

 

 2. with

 

 We recommend with for calling functions on the context object without providing the lambda result. In the code, with can be read as “ with this object, do the following.”

 

 컨텍스트 내부에서 함수를 호출할 때 사용합니다.

 

 만약 이걸 밖에서 사용한다면 아래와 같이 사용 가능합니다.

 

 3. run

 

 run is useful when your lambda contains both the object initialization and the computation of the return value.

 

 객체 초기화와, return 값 계산이 필요할 때 주로 사용합니다.

 

  

 

 4. apply

 

 Use apply for code blocks that don't return a value and mainly operate on the members of the receiver object. The common case for apply is the object configuration. Such calls can be read as “ apply the following assignments to the object.”

 

 값을 반환하지 않고, 객체의 구성에 대해 주로 사용합니다.

 

 

 5. also

 

 When you see also in the code, you can read it as “ and also do the following with the object.”

 

 객체에 대해 추가적인 작업을 할 수 있습니다.

 

 

 

 

 

 - 참조

 

https://kotlinlang.org/docs/scope-functions.html

 

Scope functions | Kotlin

 

kotlinlang.org

https://0391kjy.tistory.com/25

 

코틀린(Kotlin)의 Scope Function(let, with, run, apply, also) 정리

Scope Function 이라는 함수명에서 알 수 있듯이, 이 함수들을 람다식을 이용해서 호출하면 일시적인 Scope(범위)가 생기게 되고, 이 범위 안에서는 전달된 객체에 대해 "it" 또는 "this" 라는 Context Object

0391kjy.tistory.com

https://medium.com/@fatihcoskun/kotlin-scoping-functions-apply-vs-with-let-also-run-816e4efb75f5

 

Kotlin Scoping Functions apply vs. with, let, also, and run

Functional-style programming is highly advocated and supported by Kotlin’s syntax as well as a range of functions in Kotlin’s standard…

medium.com

https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%98-apply-with-let-also-run-%EC%9D%80-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-4a517292df29

 

코틀린 의 apply, with, let, also, run 은 언제 사용하는가?

원문 : “Kotlin Scoping Functions apply vs. with, let, also, and run”

medium.com

 

'Android(Kotlin)' 카테고리의 다른 글

Android arr module 만들기 및 import  (0) 2021.11.07
Android NotificationListenerService  (0) 2021.11.04
inline function  (0) 2021.10.31
kotlin -> bytecode -> java  (0) 2021.10.31
kotlin infix function  (0) 2021.10.29