Starts a value-based branch statement.
Aliases: switch, choose
Syntax: elige <expression> <block>
Category
control-flow
Related
Examples
examples/corpus/elige/elige.fab (canonical · keyword)
Starts a value-based branch statement.
# elige — switch on a value
#
# elige <expr> {
# casu <value> { <body> }
# ceterum { <body> }
# }
#
# GRAMMAR:
# eligeStmt :← 'elige' expr '{' casuClause* '}'
#
# EXPECTED OUTPUT:
# elige.expected
incipit {
# Text matching
fixum _ condicio ← "agens"
elige condicio {
casu "pendens" {
nota "exspectat..."
}
casu "agens" {
nota "currit"
}
casu "perfectum" {
nota "perfectum"
}
}
# Numerus matching
fixum _ codex ← 200
elige codex {
casu 200 {
nota "Recte"
}
casu 404 {
nota "non inventum"
}
casu 500 {
nota "error ministri"
}
}
# Multiple statements per case
fixum _ modus ← "opera"
elige modus {
casu "labor" {
nota "modus laboris"
nota "verba multa"
}
casu "opera" {
nota "modus operis"
nota "opera parata"
}
}
}Expected output:
currit
Recte
modus operis
opera parata