Google Groupes n'accepte plus les nouveaux posts ni abonnements Usenet. Les contenus de l'historique resteront visibles.

.Re: YANQ - When to map, when to iterate, when to recurse? And why CLOS?

5 vues
Accéder directement au premier message non lu

Robert L.

non lue,
21 janv. 2017, 02:52:5721/01/2017
à
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))

Ruby:

def find_indices array
array.each_with_index.grep(->((n,i)){yield n}, &:last)
end

find_indices(%w(a bb c d e ff)){|s| s.size > 1}
==>[1, 5]

In Forth?


--
If confirmed, Garland would be the fourth Jewish justice on the nation's
highest court.... The three current Jewish members of the Supreme Court are
Ruth Bader Ginsburg, Elana Kagan, and Stephen Breyer.
www.jta.org/2016/03/16/news-opinion/united-states/obama-to-name-jewish-federal-judge-to-supreme-court
0 nouveau message