Avatar ·

¿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.