aboutsummaryrefslogtreecommitdiff
path: root/src/collections.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/collections.lisp')
-rw-r--r--src/collections.lisp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/collections.lisp b/src/collections.lisp
index b0da74f..84a54a2 100644
--- a/src/collections.lisp
+++ b/src/collections.lisp
@@ -13,3 +13,10 @@
(defun slice (place &key (begin 0) (end (length place)))
"Returns list of elements from begin to end indecies, inclusive"
(butlast (nthcdr begin place) (- (length place) end 1)))
+
+(defun integer-to-list (num &key (min-length 1))
+ "Returns a list where each element is a digit"
+ (loop for i = num then (floor i 10)
+ for m = (list (mod i 10)) then (push (mod i 10) m)
+ until (and (= i 0) (> (length m) min-length))
+ finally (pop m) (return m)))