diff options
Diffstat (limited to '2022/lib.lisp')
-rw-r--r-- | 2022/lib.lisp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/2022/lib.lisp b/2022/lib.lisp index b6fa70f..7499e72 100644 --- a/2022/lib.lisp +++ b/2022/lib.lisp @@ -6,19 +6,19 @@ (string clist) (coerce clist 'string))) -(defun split-by (lst delim) +(defun split-by-first (lst delim) "Splits LST by the first instance of DELIM" (let ((pos (position delim lst))) (if pos (cons (subseq lst 0 pos) (list (subseq lst (+ pos 1)))) (error (format nil "No instance of ~a was found in ~a" delim lst))))) -(defun split-completely (lst delim) +(defun split-by-completely (lst delim) (if (or (null lst) (not (cdr lst))) (cons (list (car lst)) nil) (if (member delim lst) - (destructuring-bind (first rest) (split-by lst delim) - (cons first (split-completely rest delim))) + (destructuring-bind (first rest) (split-by-first lst delim) + (cons first (split-by-completely rest delim))) (list lst)))) (defun get-lines (input-string) |