Declares an enumeration.
Aliases: enum
Syntax: ordo <name> <block>
Category
type
Related
Examples
examples/corpus/ordo/ordo.fab (canonical · keyword)
Declares an enumeration.
# ordo — enumerated constants (ordered variants)
#
# ordo <Nomen> { <membrum>, … }
# ordo <Nomen> { <membrum> = <valor>, … }
#
# GRAMMAR:
# ordoDecl :← 'ordo' ident '{' ordoMember (',' ordoMember)* '}'
#
# EXPECTED OUTPUT:
# rubrum
# actum
ordo Color { rubrum, viridis, caeruleum }
ordo Condicio { pendens = 0, actum = 1, finitum = 2 }
incipit {
# Using ordo values
fixum _ color ← Color.rubrum
fixum _ condicio ← Condicio.actum
# Select by ordo
elige color {
casu Color.rubrum {
nota "rubrum"
}
casu Color.viridis {
nota "viridis"
}
casu Color.caeruleum {
nota "caeruleum"
}
}
# Select by ordo with numeric values
elige condicio {
casu Condicio.pendens {
nota "pendens"
}
casu Condicio.actum {
nota "actum"
}
casu Condicio.finitum {
nota "finitum"
}
}
}Expected output:
rubrum
actum