Reputation: 281
I am trying to have multiple statements for one condition. For example: this is a sample code for when statement.
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> { // Note the block
print("x is neither 1 nor 2")
}
}
When x is 1, I also want to have an extra statement like x += 10, how can I do it?
Upvotes: 27
Views: 18247
Reputation: 89638
You have the solution in your question with the "Note the block" comment. Branches of when
can be blocks that can contain any number of statements:
when(x) {
1 -> {
println("x == 1")
x += 10
println("x == 11")
}
2 -> { ... }
else -> { ... }
}
Writing a single statement branch just has a simplified syntax so that you don't need to surround it with {}
.
Upvotes: 45