Slide 63
Slide 63 text
Option() / Some / None
function main = |args| {
let buddies = list[buddy(1, ""), buddy(2, ""), buddy(3, "")]
let getBuddy = |id| -> Option(
buddies: find(|buddy| -> buddy: id(): equals(id))
)
let maybePanda = getBuddy(2)
let maybeNobody = getBuddy(4)
println( maybePanda ) # Optional[struct buddy{id=2, avatar=}]
println( maybeNobody ) # Optional.empty
println( maybePanda: isSome() ) # true
println( maybeNobody: isNone() ) # true
println( maybePanda: orElse(buddy(0, "")) ) # struct buddy{id=2, avatar=}
println( maybeNobody: orElse(buddy(0, "")) ) # struct buddy{id=0, avatar=}
}