Files

60 lines
986 B
Plaintext

// colors.vr — demonstrates enum declarations and usage
enum Color {
red
green
blue
}
enum Direction {
north
south
east
west
}
fn get_color_name(c) {
match c {
Color.red { return "red" }
Color.green { return "green" }
Color.blue { return "blue" }
else { return "unknown" }
}
}
fn is_warm(c) {
if c == Color.red {
return true
}
if c == Color.blue {
return false
}
return false
}
fn main() {
let c = Color.red
println("Color.red = 0")
let name = get_color_name(Color.green)
println("Color.green name = green")
let warm = is_warm(Color.red)
println("Is red warm? 1")
let dir = Direction.north
println("Direction.north = 0")
// enums are just integers, so you can use them in expressions
let next = Color.red + 1
println("Color.red + 1 = 1")
// assert enum values
assert Color.red == 0
assert Color.green == 1
assert Color.blue == 2
assert Direction.north == 0
assert Direction.west == 3
println("All enum assertions passed!")
}