38 Data enums
Enum alternatives may carry differently typed data.
norm
enum Result {
Success(Integer count),
Failure(String reason)
}
main() {
Result first = Result.Success(count: 3)
Result second = Result.Failure(reason: "empty")
printLine(first == Result.Success(count: 3))
printLine(second == Result.Failure(reason: "empty"))
}Expected output:
text
true
trueSuccess carries an integer count, while Failure carries a string reason. Construction names the payload field, and each value retains which variant was constructed.
Try it: Create a second Success with a different count and compare it.
Precise rules: Reference.