importre/kotlin-unwrap

unwrap했을때 하나라도 null일 경우에 타는 블럭

Closed this issue · 2 comments

inline fun <T1, T2, R> unwrap(
        t1: T1?,
        t2: T2?,
        block: (T1, T2) -> R,
        block2: () -> R): R? {
    return if (t1 != null
            && t2 != null) {
        block(t1, t2)
    } else {
        block2()
    }

이런식으로 탔으면 좋겠다 싶을때가 있었는데, 이렇게 만들지 않고 할 수 있는 방법이 있을까요?

unwrap(_a, _b) { a, b ->
  // do something
} ?: run {
  // handle error
}