有没有人知道在函数结束后是否可以在控制台中为elisp返回任何内容?

时间:2015-02-11 06:01:57

标签: emacs lisp elisp return-value

现在,每当我试图不返回任何东西时,我都会得到零或者零。我的函数的最后一个点在一个if语句中结束,该语句在正文中没有任何内容。像这样:

(if (counter<ten)
    ()
    (...))

1 个答案:

答案 0 :(得分:4)

你的身体没有任何东西&#34;并非一无所知 - 它是一个空列表(),与NIL相同。

在Common Lisp中,您可以使用values形式返回任意数量的值 - 包括零:

* (defun funny (counter ten)
     (if (< counter ten)
         (values)
         (values 'foo 42)))
FUNNY
* (funny 10 10)
FOO
42
* (funny 9 10)
; No value

在Emacs Lisp中,你总是只返回一个值。