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 :
- 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. - Retourner un résultat : Il retourne le résultat de la dernière expression dans la lambda.
- Objets nullable : Utile pour travailler avec des objets nullable, car en utilisant l'opérateur d'appel sécurisé
?., le blocrunne sera exécuté que si l'objet n'est pas null.
Caractéristiques principales :
- Récepteur (
this) : L'objet sur lequelrunest appelé est accessible dans la lambda en tant quethis. - 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
}