No se puede networkingucir una list de booleans en kotlin
Estoy tratando de mapear a boolean y networkingucir en kotlin. Este es mi código
class Model{ fun isEmpty() : Boolean } list.asSequence().map { model -> { model.isEmpty() } }.networkinguce { acc, next -> (acc && next)}
Pero el comstackdor me da un error al decir
- Error de complemento: Kotlin lanzó una IllegalStateException no detectada
- No se pueden agregar los fragments usando la function de Extensión de Kotlin
- La extensión de Kotlin para Android no puede resolver el "text"
- ¿Cómo crear un button en Kotlin que abre una nueva actividad (Android Studio)?
- Tipo de interferencia fallida. No coinciden los types esperados: requiere un par de cadenas encontrado <String, String> en Kotlin y Anko
Type mismatch requinetworking () Boolean? but found Boolean
¿Qué estoy haciendo mal? Espero no estar haciendo nada conceptualmente mal
- ¿Para qué sirve el campo de apoyo de Kotlin?
- Cómo usar fragments con kotlin
- Kotlinx inyecta vista desde el layout incorrecto
- Diseño inflado por progtwigción con las extensiones de Kotlin para Android
- La class Kotlin no obtiene su valor boolean de firebase
- ¿Qué versión (s) de Kotlin debería usar para Android Studio 3.0 Canary 1?
- Extensiones de Kotlin para Android y menu
- UNRESOLVED_REFERENCE en widget (TextView) resuelto al elemento error en android-kotlin
Esta no es la syntax lambda de Kotlin.
Kotlin lambdas está completamente contenido dentro de {}
, es decir:
{ arg1, ..., argn -> [ lambda body ] [ last statement (implicitly returned) ] }
Haciendo
list.asSequence().map { model -> { model.isEmpty() } }
Está creando una lambda que devuelve otra lambda de tipo () -> Boolean
:
{ model.isEmpty() }
Entonces, el tipo real de esta lambda es (Model) -> () -> Boolean
.
Retire los soportes internos:
list.asSequence().map { model -> model.isEmpty() }.networkinguce { acc, next -> acc && next }
Además, lambdas de parámetro único tiene un nombre de parámetro implícito, por lo que puede escribir:
list.asSequence().map { it.isEmpty() }.networkinguce { acc, next -> acc && next }
Además, parece que estás tratando de verificar si una list completa está vacía. Creo que puedes simplemente escribir:
list.all { it.isEmpty() }
o use una reference de método:
list.all(Model::isEmpty)
aunque eso depende de las preferences personales.
- Generalizar método con arguments anulables y tipo de retorno
- ¿De dónde se extienden las classs de datos de Kotlin? ¿Puedo boostlos?