将组织电子表格中的列表传递给lisp函数

时间:2012-02-02 15:25:31

标签: emacs elisp org-mode

我有一个名为TABLE1的表,我正在尝试将列表传递给函数foo,如下所示:

#+TBLFM: $1='(foo list(a b c))

(defun foo (my-list) 
  (first my-list)
)

不幸的是,表公式的计算结果为#ERROR。知道如何将列表传递给函数吗?

1 个答案:

答案 0 :(得分:5)

您需要使用有效的功能才能正常工作。 (foo list(a b c))即使在*scratch*缓冲区中也无法评估。

如果您将公式更改为:

(foo (list "a" "b" "c"))
or
(foo (list 'a 'b 'c))
or
(foo '(a b c))

它会在表格字段中返回a