Imaginons que vous avez 2 fonctions retour annulable et vous ne pouvez pas composer cette 2 fonctions:Comment composer nullables dans Kotlin
fun giveInt(x: Int):Int? = x+1
fun giveInt2(x: Int):Int? = x+2
Pour obtenir la composition, je l'ai écrit cette fonction:
fun all(x:Int):Int? {
val y = giveInt(x)
if (y != null) return giveInt2(y) else return null;
}
val four = all(1)
Est-il possible de composer 2 valeurs nullables pour obtenir un autre nullable sans écrire explicitement if (y != null)
et return null
?
Dans Scala je voudrais juste faire quelque chose comme:
def giveInt(x: Int):Option[Int] = Some(x+1)
def giveInt2(x: Int):Option[Int] = Some(x+2)
def all(x:Int): Option[Int] = giveInt(x).flatMap(giveInt2)
Dois-je utiliser java en option pour atteindre cet objectif ou est-il possible avec l'opérateur ?
?
Merci :)
Ceci est fortement couvert par: http://stackoverflow.com/questions/34498562/in-kotlin-quoi-est-la-idiomatique-façon-de-négocier-avec nullable-values-référencement-o –