phi-lang/stdlib.phi
2025-09-23 19:47:35 +02:00

55 lines
1.0 KiB
Plaintext

(fn slice (list idx) (do
(let list_len (len list))
(let elems (list))
(let i idx)
(loop (do
(if (>= i list_len) (break))
(push elems (at list i))
(+= i 1)
))
(return elems)
))
(fn slice_eq (str slice_idx substr) (do
(let str_len (len str))
(let substr_len (len substr))
(let i 0)
(loop (do
(if (>= i substr_len)
(return true))
(if (>= (+ slice_idx i) str_len)
(return false))
(if (!= (at str (+ slice_idx i)) (at substr i))
(return false))
(+= i 1)
))
(return true)
))
(fn contains (text ch) (do
(let text_len (len text))
(let i 0)
(loop (do
(if (>= i text_len) (break))
(if (== (at text i) ch) (do
(return true)
))
(+= i 1)
))
(return false)
))
(fn indent (depth) (do
(let space "")
(let i 0)
(loop (do
(if (>= i depth) (break))
(+= space " ")
(+= i 1)
))
(return space)
))