←
examples/basics/16_membership.cat
#!/usr/bin/env catnip
# Membership operators: in / not in
# in
3 in list(1, 2, 3, 4, 5)
# → True
"cat" in "catnip"
# → True
"z" in dict(a=1, b=2)
# → False
# not in
42 not in set(1, 2, 3)
# → True
# usage in control flow
allowed = list("admin", "editor")
check = (role) => {
if role in allowed {
"granted"
} else {
"denied"
}
}
check("admin") # → "granted"
check("viewer") # → "denied"
# custom struct with op in
struct Bag {
items
op in(self, item) => { item in self.items }
}
b = Bag(list(1, 2, 3))
2 in b
# → True
5 not in b
# → True