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 tengo un problema. En Java estaba acostumbrado a pasar funciones a través de interfaces o lambdas, pero en Kotlin todo es un poco diferente. Supongamos que tengo una función simple que suma dos números: ```kotlin fun add(a: Int, b: Int): Int { return a + b } ``` Y quiero pasarla a otra función que la aplique a un par de números y muestre el resultado. Intenté escribir algo como: ```kotlin fun applyOperation(x: Int, y: Int, operation: ???) { val result = operation(x, y) println("Resultado: $result") } ``` Pero no sé qué tipo especificar para el parámetro `operation`. He oído algo sobre `Function` o `(Int, Int) -> Int`, pero no estoy seguro de cómo usarlo correctamente. También me interesa saber si se pueden pasar funciones con diferentes firmas, por ejemplo, con diferente número de parámetros o tipos de retorno. Por favor, indícame cómo se hace esto en Kotlin. ¡Los ejemplos de código ayudarían mucho! Gracias. <<>>

Uso