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 !
4
Kotlin: Compiler le code suivant et voir l'erreur.2
Afficher la valeur d'une chaine nullable 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 class2
Concaténer deux strings en Kotlin1
En Kotlin, ajouter un élément à une liste ne modifie pas la liste.7
Comment aplatir une liste de listes en Kotlin