Sobes.tech
Junior

Qu'est-ce qu'un bloc 'run' en Kotlin et comment l'utiliser?

sobes.tech IA

Réponse de l'IA

Le bloc run en Kotlin est une fonction d'étendue intégrée à la bibliothèque standard de Kotlin. Il est utilisé pour :

  1. Exécuter un bloc de code sur un objet : Il est appelé sur un objet et exécute une expression lambda fournie en argument. À l'intérieur de la lambda, l'objet est accessible en tant que this.
  2. Retourner un résultat : Il retourne le résultat de la dernière expression dans la lambda.
  3. Objets nullable : Utile pour travailler avec des objets nullable, car en utilisant l'opérateur d'appel sécurisé ?., le bloc run ne sera exécuté que si l'objet n'est pas null.

Caractéristiques principales :

  • Récepteur (this) : L'objet sur lequel run est appelé est accessible dans la lambda en tant que this.
  • Valeur de retour : Le résultat de la dernière expression dans la lambda.

Exemples d'utilisation :

// Exemple 1 : exécuter du code sur un objet et retourner un résultat
val length: Int = "some string".run {
    // 'this' ici fait référence à "some string"
    println("Longueur de la chaîne : ${this.length}")
    length // Retourne la longueur de la chaîne
}
// Exemple 2 : travailler avec un objet nullable
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
    // Le bloc ne s'exécutera que si nullableString n'est pas null
    toUpperCase() // Retourne la chaîne en majuscules
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Le bloc ne s'exécutera pas, run?. retournera null
    toUpperCase()
}
// Exemple 3 : création et configuration d'un objet
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // La classe Person est supposée exister
}