21 lines
408 B
Fennel
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?
|
|
}
|