Elisp:将列表分配给变量

时间:2014-10-26 00:14:18

标签: list elisp

我试图理解列表,并且为什么第二个例子(下面)编译但第一个例子没有编译而感到困惑。

在这两个例子中,我们(尝试)比较字符列表中的每个元素(?a?b?c)是否与?a相等,并且想法是它返回(t nil nil)。两个示例之间的唯一区别是第二个示例不使用临时变量来保存列表。

我做错了什么? (我检查了我的列表赋值语法对GNU文档,我没有看到任何错误...)

编辑:我的错误是没注意细节;正如Stefan指出的那样,编译时错误是由于错误位置的括号。很抱歉让您失望,如果您来到这篇文章,希望了解Elisp中的列表。

示例#1(不编译):

(let (char-to-compare, char-list)
    (setq char-to-compare ?a)
    (setq char-list '(?a ?b ?c))
    (mapcar (lambda(element) (char-equal element char-to-compare)) char-list))

示例#2 :(编译并正确运行):

(let (char-to-compare)
    (setq char-to-compare ?a)
    (mapcar (lambda(element) (char-equal element char-to-compare)) '(?a ?b ?c)))

1 个答案:

答案 0 :(得分:1)

使用TAB键缩进代码。这会告诉你什么是错的。