Intermédiaire
sealed class Expr
data class Const(val number: Double) : Expr()
data class Sum(val e1: Expr, val e2: Expr) : Expr()
object NotANumber : Expr()
fun eval(expr: Expr): Double = when(expr) {
    is Const -> expr.number
    is Sum -> eval(expr.e1) + eval(expr.e2)
    NotANumber -> Double.NaN
}
fun main(args: Array<String>) {
    println(eval(Sum(Sum(Const(42.0), Const(1.0)), Const(1.0))))
}
Le code précédent :
Auteur: Équipe W3DStatut : PubliéeQuestion passée 644 fois
Modifier
3
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
2
En Kotlin, ajouter un élément à une liste ne modifie pas la liste.2
Afficher la valeur d'une chaine nullable en Kotlin10
Comment aplatir une liste de listes en Kotlin6
Écrire une fonction qui retourne le maximum de deux entiers en Kotlin4
Créer une classe de données avec une propriété vip implémentant l'interface Human5
Kotlin: Compiler le code suivant et voir l'erreur.2
Écrivez un code Kotlin qui affiche 7 sur la console.