Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
class Task(
val description: String,
val assignedTo: AssignedTo
sealed class AssignedTo {
object Nobody : AssignedTo()
class User(val name: String) : AssignedTo()
fun main() {
val buyMilk = Task("Buy milk", AssignedTo.Nobody)
val writePost = Task("Write post", AssignedTo.User("le0nidas"))
print(buyMilk, writePost)
private fun print(vararg tasks: Task) {
tasks.forEach { task ->
val user = when(task.assignedTo) {
AssignedTo.Nobody -> "nobody"
is AssignedTo.User ->
println("Task '${task.description}' is assigned to $user")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment