elisp功能无效:(引用a)

时间:2016-02-01 06:21:13

标签: elisp

由于我是elisp语言的新手,我为以下代码编写了elisp。

当我评估它时,它失败了。

echo区域显示错误“our-member:Invalid function :( quote a)”

另外,我对lisp语言的基本元素感到困惑。

'a不是obj还是列表?什么是列表定义,因为我没有在维基和谷歌上找到它。

(defun our-member(obj list)
  (if (nil list)
      nil
    (if (eql (car list) obj)
        list
      (our-member obj (cdr list)))))

(our-member('a '(a b c)))

1 个答案:

答案 0 :(得分:1)

Lisp中的函数调用看起来像(function arguments)而不是(function (arguments))。你会发现,后者试图将arguments作为一个函数运行。

Emacs提供了出色的文档; Lisp的数据类型记录在http://www.gnu.org/software/emacs/manual/html_node/elisp/Lisp-Data-Types.html,但可能从更温和的介绍开始,也介绍了基本语法; https://www.gnu.org/software/emacs/manual/eintr.html