elisp: если символ имеет значение, верните его, иначе верните ноль - PullRequest
3 голосов
/ 20 января 2012

если я использую это, я получаю ошибку, потому что c никогда не устанавливается.

(if (symbol-value c)
    c
  nil)

моя проблема в том, что у меня есть список, содержащий symbols, и некоторые из них имеют set с некоторым значением, я хочу построить список с их значениями и nil s

(setq a "x")
(setq b "y")
(setq l '(a b c))

поэтому из l Я хочу создать список с ("x" "y" nil). Я думаю, это должно быть так просто

1 Ответ

11 голосов
/ 20 января 2012
(setq a "x")
(setq b "y")
(setq l (mapcar (lambda (x)
                  (and (boundp x) (symbol-value x)))
                '(a b c)))
...