我有一個已知變量和具有nil參數列表的相應函數的列表,它內部使用已知的非參數(或全局)變量。在Elisp中如何動態地賦值給一個也是動態選擇的變量(在表單中)
例如,
(defun funA()
(message "%s" varA))
(defun funB()
(message "%s" varB))
...
(setq alist
'((varA . funA)
(varB . funB)
...
))
alist中的相似元素可以動態添加/刪除。
我想在另一個函數中運行所有這些函數,其中已知變量的值以LET形式動態分配。
(defun call-each-fun-of-alist()
(dolist (e alist)
(let (((car e) (read-from-minibuffer "value: ")))
(funcall (cdr e)))))
(是的,它會拋出錯誤,但我想類似的事情,可能不EVAL)
對於ALIST的已知因素(如第一我可以做
(let ((varA (read-from-minibuffer "value: ")))
(funcall (cdr (assoc 'varA alist))))
但ALIST是動態更新,我什麼運行在alist 所有功能和相應的變量的值會動態地。
請讓我知道我如何一個定義
call-each-fun-of-alist
(不一定,但沒有調用EVAL內調用每個-樂趣的-ALIST,如果沒有可能不EVAL比我想知道它也。)
感謝您的幫助 – Sharad