Use do-sequence
authorDavid Vázquez <davazp@gmail.com>
Thu, 9 May 2013 08:00:46 +0000 (09:00 +0100)
committerDavid Vázquez <davazp@gmail.com>
Thu, 9 May 2013 08:00:46 +0000 (09:00 +0100)
src/sequence.lisp

index 738995f..4b5a759 100644 (file)
 
 (defun vector-remove-if (func vector negate)
   (let ((out-vector (make-array 0)))
-    (dotimes (i (length vector))
-      (let* ((element (aref vector i))
-             (test (funcall func element)))
+    (do-sequence (element vector i)
+      (let ((test (funcall func element)))
         (when (if negate test (not test))
           (vector-push-extend element out-vector))))
     out-vector))