2016-01-12 57 views
0

將elisp中的多個參數(其中一些參數爲常量)應用於列表的正確方法是什麼?我已經習慣了R,你可以在那裏傳遞映射函數名稱參數(除了函數和列表),它們被作爲參數傳遞給被應用的函數。在elisp中有這樣的東西嗎?用elisp中的某個常量映射具有多個參數的函數

例如,我試圖使用add-to-list添加一些變量。我是否需要創建一個這樣的匿名函數,或者有其他方法嗎?

(setq some-alist (list)) 
(mapc (lambda (x) 
     (add-to-list 'some-alist x)) 
     '(("style-a") 
     ("style-b"))) 
+0

這就是爲什麼您需要lambda表達式。一些語言例如Ocaml(但不是Emacs-lisp)具有限制 –

回答

1

使用lambda列表是Emacs Lisp中的常用樣式。如果您不喜歡lambda列表,您可以使用apply-partially組合器:

(mapc (apply-partially #'add-to-list 'some-alist) 
     '(("style-a" "style-b"))) 
相關問題