일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ui test
- fragment
- 안드로이드13
- adapter
- Error:Execution failed for task ':app:mergeDebugResources'
- Android
- 뷰변경 감지
- 스와이프
- 안드로이드개발레벨업교과서
- Fragment 수동 추가
- 안드로이드
- recyclerview
- 구분선
- binding adapter
- viewholder
- IntentTestRule
- espresso
- 리사이클러뷰
- 고차함수
- 코딜리티
- 생명주기
- 코틀린
- 재사용
- Fragment에서 Activity의 함수 사용하기
- ActivityTestRule
- 안드로이드스튜디오
- LayoutManger
- 테마 아이콘
- searchview
- high order function
Archives
- Today
- Total
룬아님의 취중코딩
Kotlin에서 let을 여러번 쓰고 싶을 때 본문
kotlin으로 개발을 할때에
something?.let{}
이런 류의 코드를 많이 사용하게 된다.
그런데 변수 하나만 null 체크를 하는 것이 아니라 2개 이상 체크하고 싶으면 어떻게 해야할까?
하지만 Kotlin에서 직접적으로 지원하는 extension이 없기 때문에
https://stackoverflow.com/a/55736101
직접 util로 구현하여야 한다.
inline fun <T: Any> ifLet(vararg elements: T?, closure: (List<T>) -> Unit) {
if (elements.all { it != null }) {
closure(elements.filterNotNull())
}
}
// Will print
ifLet("Hello", "A", 9) {
(first, second, third) ->
println(first)
println(second)
println(third)
}
// Won't print
ifLet("Hello", 9, null) {
(first, second, third) ->
println(first)
println(second)
println(third)
}
반응형
'개발 > Kotlin' 카테고리의 다른 글
Kotlin Bootcamp for Programmers 4. arrays, lists, and loops (0) | 2019.09.30 |
---|---|
Kotlin Bootcamp for Programmers 3. nullability (0) | 2019.09.27 |
Kotlin Bootcamp for Programmers 2. 조건부와 대소비교 (0) | 2019.09.27 |
Kotlin Bootcamp for Programmers 1. 코틀린의 이점 (0) | 2019.09.27 |
Kotlin let을 null check에 사용하지 마라 (0) | 2019.09.22 |
Comments