How to convert function output to Unit with Kotlin

前端 未结 6 408
轻奢々
轻奢々 2021-01-12 11:48

I have troubles with a function in Kotlin that should return Unit, but due to a usage of another function returning a Boolean, there is a type mismatch.

Here is a co

6条回答
  •  一整个雨季
    2021-01-12 12:21

    As another alternative, you could make a higher order function that swallows the output of the function returning a value:

    fun consume (fn: () -> Any): Unit {
      fn()
    }
    

    Giving:

    fun foo(bar: Int): Unit = when(bar) {
        0 -> println("0")
        else -> consume { printAndReturnTrue(bar) }
    }
    

提交回复
热议问题