【发布时间】:2016-03-29 16:00:16
【问题描述】:
我有一个双重问题,希望得到这里专家的建议。
1) 在一些代码的句法分析中,我需要将找到的组件存储起来以备后用。我现在考虑将它们存储为属性列表(一个独立的列表,而不是包含代码的字符串,因为这在我看来是一种滥用,尽管它会很方便)。这是否违反所有惯例或处理这种情况的合理方式?
2) 我未能在 (let ... ) 语句中创建属性列表。
这行得通:
(setq x "BAR")
(setq pl `(bar ,x))
(setq pl (plist-put pl 'foo "FOO"))
(plist-get pl 'foo) ; returns "FOO"
但这不是:
(let (pl `(bar ,x))
(setq pl (plist-put pl 'foo "FOO"))
(plist-get pl 'foo))
Emacs 抱怨 void 函数栏。尽管有反引号,它显然试图评估(bar ...)。为什么?
【问题讨论】:
标签: emacs coding-style elisp let backticks