Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Qq chose comme let

2 réponses
Avatar
Vincent Belaïche
Bonjour,

Une petite question d'emacs-lisp.

Est-il possible de faire quelque chose comme

(let ((toto 1) (titi 2)) (ma-fonction toto titi))

mais où la liste ((toto 1) (titi 2)) serait le résultat d'une évaluation. Je
pense que c'est possible en construisant une lambda-expression mais je me
demande si il n'y a pas plus simple.

À+,
Vincent.

2 réponses

Avatar
Matthieu M
On Oct 18, 9:46 pm, Vincent Belaïche
wrote:
Bonjour,

Une petite question d'emacs-lisp.

Est-il possible de faire quelque chose comme

(let ((toto 1) (titi 2)) (ma-fonction toto titi))

mais où la liste ((toto 1) (titi 2)) serait le résultat d'une évalu ation. Je
pense que c'est possible en construisant une lambda-expression mais je me
demande si il n'y a pas plus simple.



ELISP> (setq l1 '(foo 1))
(foo 1)

ELISP> (setq l2 '(bar 2))
(bar 2)

ELISP> (eval `(let (,l1 ,l2) (message "%S %S" foo bar)))
"1 2"

(les trucs magiques, c'est « eval » et `/,)
Avatar
Vincent Belaïche
Merci pour la réponse !

Vincent.

Matthieu M a écrit :
On Oct 18, 9:46 pm, Vincent Belaïche
wrote:
Bonjour,

Une petite question d'emacs-lisp.

Est-il possible de faire quelque chose comme

(let ((toto 1) (titi 2)) (ma-fonction toto titi))

mais où la liste ((toto 1) (titi 2)) serait le résultat d'une évaluation. Je
pense que c'est possible en construisant une lambda-expression mais je me
demande si il n'y a pas plus simple.



ELISP> (setq l1 '(foo 1))
(foo 1)

ELISP> (setq l2 '(bar 2))
(bar 2)

ELISP> (eval `(let (,l1 ,l2) (message "%S %S" foo bar)))
"1 2"

(les trucs magiques, c'est « eval » et `/,)