※ with() 활용하기
- 인자로 받는 객체를 이어지는 block의 receiver로 전달하며 결과값을 반환한다
- run() 함수와 기능이 유사하지만 run은 receiver가 없고 with에서는 receiver로 전달할 객체를 처리 한다는 차이가 있다
//표준 함수의 정의
public inline fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()
with는 세이프 콜(?.)을 지원하지 않아 다음과 같이 let을 사용해야 한다
supportActionBar?.let {
with(it) {
......
......
}
}
※ let과 with 표현 병합
- run과 동일하다
supportActionBar?.run {
.....
.....
}
'기타 > What I Learned' 카테고리의 다른 글
[TIL] Kotlin - 기타 표준 함수 (0) | 2022.02.28 |
---|---|
[TIL] Kotlin - use() (0) | 2022.02.27 |
[TIL] Kotlin - run() (0) | 2022.02.21 |
[TIL] Kotlin - apply() (0) | 2022.02.20 |
[TIL] Kotlin - also() (0) | 2022.02.19 |