Wade Humeniuk wrote:
John Connors wrote:
Yet Another Noob Question.
What are the characteristics of each implementation?
How can I tell which I should be writing in what context...
(defun find-indicies (lst tst)
(let ((li 0))
(labels ((qpred (a)
(incf li)
(if (funcall tst a)
(1- li)
nil)))
(remove nil (mapcar #'qpred lst)))))
(defun find-indices (lst tst)
(loop
for el in lst
counting t into index
if (funcall tst el)
collect index))
You are allergic to loop
(defun find-indices (list test)
(loop for element in list
for index from 1
when (funcall test element) collect index))
newLISP
(define (find-indices lst test)
(index test lst))
(find-indices '(200 209 250 257 260 263) odd?)
===>
(1 3 5)
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)