J'ai la fonction Common Lisp suivante:Existe-t-il un meilleur moyen d'écrire cette fonction?
(defun get-positions (marker)
(let ((result nil))
(dotimes (i (length board))
(if (eq (nth i board) marker)
(push i result)))
(nreverse result)))
Voici ce que board
est et est ici la sortie de la fonction:
CL-USER> board
(X X O NIL NIL NIL NIL NIL NIL)
CL-USER> (get-positions 'x)
(0 1)
Il semble que la fonction que j'ai écrit peut-être un peu bavard. Y a-t-il une façon plus concise de l'écrire?