Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 666 Bytes

File metadata and controls

39 lines (33 loc) · 666 Bytes

Enums Example

This example demonstrates how to declare enums and use pattern matching with match and case in TechScript.

Code (enums.txs)

enum TrafficLight
    Red
    Yellow
    Green
end

do get_action(light)
    match light
    case TrafficLight.Red
        send "Stop"
    case TrafficLight.Yellow
        send "Caution"
    case TrafficLight.Green
        send "Go"
    default
        send "Unknown state"
    end
end

say $"Red Light: {get_action(TrafficLight.Red)}"
say $"Green Light: {get_action(TrafficLight.Green)}"

Running the Example

tech run enums.txs

Expected Output

Red Light: Stop
Green Light: Go