Implement a function to remove specific indices from a list

This commit is contained in:
2025-02-14 23:22:18 +00:00
parent 334ece1ee7
commit 6a3626d961
2 changed files with 8 additions and 1 deletions

View File

@@ -54,3 +54,9 @@ where key x in A has associations {y in LST : INDICATOR(y) = x}."
(fn parse-integer* (inp) (-> (string) (or integer list))
"Given string INP, attempt to parse an integer. Return NIL otherwise."
(parse-integer inp :junk-allowed t))
(fn remove-at-indices (indices lst) (-> (list list) list)
(loop :for i :from 0 :to (1- (length lst))
:for item :in lst
:if (not (member i indices))
:collect item))

View File

@@ -30,7 +30,8 @@
(:export
:parse-integer*
:range :take :split
:rev-map))
:rev-map
:remove-at-indices))
(defpackage cantedraw.model
(:use :cl :cantedraw.lib.macros :cantedraw.lib.functions)