Menu
Coddy logo textTech

Arguments nommés

Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 58 sur 93.

Lorsque vous appelez une fonction avec plusieurs paramètres, vous transmettez normalement les arguments exactement dans l’ordre où ils sont définis. Mais Kotlin offre une alternative plus claire : les arguments nommés.

Avec les arguments nommés, vous indiquez à quel paramètre appartient chaque valeur en utilisant le nom du paramètre suivi de = :

fun createProfile(name: String, age: Int, city: String) {
    println("$name, $age, from $city")
}

fun main() {
    createProfile(name = "Alice", age = 25, city = "Paris")
}
// Sortie : Alice, 25, de Paris

Cela rend votre code plus lisible, en particulier lorsqu’une fonction possède plusieurs paramètres du même type. Comparez ces deux appels :

// Sans arguments nommés - que signifient ces nombres ?
calculateArea(10, 5, 3)

// Avec des arguments nommés - bien plus clair !
calculateArea(length = 10, width = 5, height = 3)

Les arguments nommés vous permettent également de transmettre les valeurs dans l’ordre de votre choix :

fun greet(firstName: String, lastName: String) {
    println("Hello, $firstName $lastName!")
}

fun main() {
    greet(lastName = "Smith", firstName = "John")
}
// Sortie : Hello, John Smith!

Vous pouvez mélanger des arguments positionnels et nommés, mais dès que vous utilisez un argument nommé, tous les arguments suivants doivent également être nommés pour éviter toute confusion.

challenge icon

Défi

Moyen

La fonction suivante vous est fournie :

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

Lisez trois entrées : un titre de livre (String), un nom d’auteur (String) et une année de publication (Int).

Appelez la fonction formatBook en utilisant des arguments nommés dans cet ordre précis : year, title, author.

Par exemple, si les entrées sont :

1984
George Orwell
1949

La sortie doit être :

"1984" by George Orwell (1949)
FORMAT DE SORTIE REQUIS : [Votre contenu traduit ici]

Essayez vous-même

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

fun main() {
    val title = readLine()!!
    val author = readLine()!!
    val year = readLine()!!.toInt()
    
    // TODO: Appelez formatBook en utilisant des arguments nommés dans cet ordre : year, title, author
    
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Kotlin