¿Cómo pasar una función como parámetro a otra función en Kotlin?
¡Hola! Acabo de empezar a aprender Kotlin después de Java y me encontré con un problema.
En Java solía usar interfaces o interfaces funcionales (por ejemplo, `Consumer`, `Runnable`) para pasar comportamiento a métodos. En Kotlin, según entendí, las funciones son objetos de primera clase y se pueden pasar directamente.
Pero no logro escribir la sintaxis correcta. Supongamos que tengo una lista simple de números y quiero escribir una función `processNumbers` que recibe una lista y una función handler para cada elemento.
Esto es lo que intento hacer:
```kotlin
fun processNumbers(numbers: List, operation: ???) {
for (number in numbers) {
operation(number)
}
}
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// Quiero pasar aquí una función que imprima el cuadrado del número
processNumbers(numbers, println(it * it)) // ¡Error!
}
```
No entiendo qué tipo especificar para el parámetro `operation`. Intenté escribir `(Int) -> Unit`, pero obtengo un error.
No answers yet.
Inicia sesión para dejar una respuesta