Bonjour,
Voilà mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
(defun trois-fn (u v w) (list 
			   #'(lambda (y) (+ (* u y) 4)) 
			   #'(lambda (y) (- (* v y) 4 ))
			  (function (lambda (y) (* w y)))
			  )
  ) 
(setf fns (trois-fn 3 -3 1))
 
(setf f0 (nth 0 fns))
(setf f1 (nth 1 fns))
(setf f2 (nth 2 fns))
(print (funcall f0 10))
(print (funcall f1 10))
(print (funcall f2 10))
Il donne ce que je veux :
Il calcule la valeur pour y=10 de trois fonctions affines.
(j'ai utilisé #' et (function ...) pour me rappeler l'équivalence ....)

Mais je voudrais faire l'affichage avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 (dolist (f '(f0 f1 f2))(funcall f 10))
(j'ai pas mis le print)
Comme je m'en doutais cela ne marche pas ;-) comment peut-on lier les fonctions f0, f1, f2 avec les symboles 'f0, 'f1, 'f2 de la liste ?

Merci d'avance pour une indication.

rutabagas.