Cómo verificar el vacío lambda en kotlin
¿Cómo puedo verificar si lambda está vacío en Kotlin? Por ejemplo, tengo una firma como
onError:(Throwable) -> Unit = {}
¿Cómo puedo diferir si su valor pnetworkingeterminado es el cuerpo o valor aplicado a esta function?
- Enlace de datos: el campo Observable con valor lambda no comstack
- ¿Cómo omitir los parameters lambda en Kotlin?
- Kotlin, tabla / matriz basada en inputs con campos dynamics
- ¿Utilizas return dentro de una lambda?
- Pase la interfaz como parámetro en Kotlin
- java.lang.NoClassDefFoundError $$ inlined $ forEach $ lambda $ 1 en Kotlin
- Tienda lambda en una variable en kotlin
- Kotlin: cuándo y cómo se deben usar las expresiones Lambda
- Kotlin: comparar los valores de propiedad de diferentes objects objective con (fuera) reflexión
- Kotlin: lambdas seguros (sin pérdida de memory)?
- Poniendo un lambda genérico en un map
- La function de extensión de kotlin no entiende cómo funciona esto
- Kotlin: ¿Para qué se llaman los arguments lambda?
No podría probar si el cuerpo de una lambda está vacío (por lo que no contiene ningún código fuente) pero puede verificar si la lambda es su valor pnetworkingeterminado creando una constante para ese valor y usar esto como valor pnetworkingeterminado. Además, puedes verificar si el valor es el valor pnetworkingeterminado:
fun main(args: Array<String>) { foo() foo { } foo { println("Bar") } } private val EMPTY: (Throwable) -> Unit = {} fun foo(onError: (Throwable) -> Unit = EMPTY) { if (onError === EMPTY) { // the default value is used } else { // a lambda was defined - no default value used } }