9 of 15
Enums and match
An enum lists the possible kinds of a value. Each kind can carry data, and match takes it apart:
pleno
enum Payment {
Cash,
Card(last4),
Transfer(bank, reference)
}
fn describe(payment: Payment): String {
match (payment) {
case Payment.Cash => return "cash",
case Payment.Card(digits) => return `card ending ${digits}`,
case Payment.Transfer(bank, _) => return `transfer from ${bank}`
}
}RunYour turn
Finish area so it also handles Shape.Triangle(base, height).