现在,每当我尝试不返回任何内容时,我都会得到 nil 或 t。我的函数的最后一个点以 if 语句结束,该语句体内没有任何内容。像这样:
(if (counter<ten)
()
(...))
最佳答案
你的“体内什么都没有”并不是什么都没有——它是一个空列表()
,与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 中,您始终只返回一个值。
关于emacs - 有谁知道函数结束后是否可以在 elisp 的控制台中不返回任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28447546/