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 573 fois
Modifier
3
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
1
En Kotlin, ajouter un élément à une liste ne modifie pas la liste.4
Kotlin: Compiler le code suivant et voir l'erreur.2
Concaténer deux strings en Kotlin5
Écrire une fonction qui retourne le maximum de deux entiers en Kotlin2
Comment ajouter un nouvel élément à une liste de Kotlin data class7
Comment aplatir une liste de listes en Kotlin2
Afficher la valeur d'une chaine nullable en Kotlin