326 votes

Kotlin : comment passer une fonction en paramètre à une autre ?

Fonction donnée foo :

fun foo(m: String, bar: (m: String) -> Unit) {
    bar(m)
}

Nous pouvons le faire :

foo("a message", { println("this is a message: $it") } )
//or 
foo("a message")  { println("this is a message: $it") }

Maintenant, disons que nous avons la fonction suivante :

fun buz(m: String) {
   println("another message: $m")
}

Existe-t-il un moyen de passer "buz" comme paramètre à "foo" ? Quelque chose comme :

foo("a message", buz)

-9voto

ajselvig Points 658

Les fonctions de première classe ne sont actuellement pas prises en charge par Kotlin. La question de savoir s'il s'agirait d'une bonne fonctionnalité à ajouter a été débattue. Je pense personnellement qu'elles devraient l'être.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X