From 602209deb6bda41a225504cd2021085b70ef4fdc Mon Sep 17 00:00:00 2001 From: Ringo Wantanabe Date: Wed, 23 Jan 2019 18:59:37 +0000 Subject: [PATCH] a bit more --- utils.lisp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/utils.lisp b/utils.lisp index 6672808..b4692ce 100644 --- a/utils.lisp +++ b/utils.lisp @@ -7,7 +7,7 @@ (defparameter *-utils-lisp* t) (defparameter *-utils-depends* '(#:cl-ppcre)) -(defparameter *-utils-version* "0.1.2") +(defparameter *-utils-version* "0.1.3") ;;; -- Handle internal exporting -- @@ -63,6 +63,11 @@ ;;; --- actual (exported) code goes here --- +(defun where (expr items) + (mapcan #'(lambda (x) + (when (funcall expr x) x)) + items)) + (defun true (f) (not (null f))) @@ -97,7 +102,7 @@ (defun rand-in (l &key (random #'random) ) "Random member of, slide right if nil" (let ((rng (funcall random (list-length l)))) - (let ((nl (nth rng l))) + (let ((nl (nthcdr rng l))) (until (pop nl))))) (defun regex-replace-many (str matches replwith)