Provides a default when the left side is null.
Aliases: nullish coalescing
Syntax: <expression> vel <expression>
Category
logic
Related
Examples
examples/corpus/vel/vel.fab (canonical · operator-group)
Provides a default when the left side is null.
# vel — nullish coalescing (not logical OR)
#
# <expr> vel <expr> -- right side only when left is nihil
#
# GRAMMAR:
# coalesceExpr :← expr 'vel' expr
#
# EXPECTED OUTPUT:
# ignotus, Marcus, 0, false, defectum, inventum (vel.expected).
incipit {
# Basic nihil coalescing
fixum textus ∪ nihil nomen ← nihil
sit ostensum ← nomen vel "ignotus"
# "ignotus"
nota ostensum
# With present value
fixum textus ∪ nihil adest ← "Marcus"
sit ostensum2 ← adest vel "ignotus"
# "Marcus"
nota ostensum2
# Difference from logical aut: vel only checks nihil
sit nihilum ← 0
sit vacuus ← ""
sit falsus2 ← falsum
# vel preserves non-nihil values
# 0
nota nihilum vel 999
# ""
nota vacuus vel "defectum"
# falsum
nota falsus2 vel verum
sit alter ← nomen vel "defectum"
nota alter
# Chaining
fixum textus ∪ nihil a ← nihil
fixum textus ∪ nihil b ← nihil
fixum textus ∪ nihil c ← "inventum"
sit primum ← a vel b vel c vel "nihil"
# "inventum"
nota primum
}Expected output:
ignotus
Marcus
0
falsum
defectum
inventum