tbls/lib/table.fnl

21 lines
408 B
Fennel

(fn contains? [t x]
"does sequence t contain element x?"
(accumulate [found false
_ v (ipairs t)
&until found] ; escape early
(or found (= x v))))
(fn keys [t]
"takes a table returns a sequential list of its keys"
(local out [])
(each [k _ (pairs t)] (table.insert out k))
out)
(fn has-key? [t k]
(contains? (keys t) k))
{: contains?
: keys
: has-key?
}