2018.10.17
sealed class SealedExpr{
data class Person(val name: String, val age: Int): SealedExpr()
object Add: SealedExpr()
companion object Minus: SealedExpr()
}
object NotANumber: SealedExpr()
fun eval (expr: SealedExpr) = when(expr){
is SealedExpr.Add -> println("is Add")
is SealedExpr.Minus -> println("is Minus")
is SealedExpr.Person -> println(SealedExpr.Person("kkk",22))
NotANumber -> Double.NAN
}