如何在Emacs Lisp中理解这个表单(交互式(列表'交互式))?
问题描述:
我发现一些代码这样,如何在Emacs Lisp中理解这个表单(交互式(列表'交互式))?
1 (require 'cl-lib)
2 (require 'company)
3
4 (defun company-sample-backend (command &optional arg &rest ignored)
5 (interactive (list 'interactive))
...
)
,但如何理解第5行?
答
interactive
声明的参数是一个字符串或一个elisp形式,当被评估时,返回该函数的参数值列表。
在这种情况下,声明使用返回列表的表单。形式为:
(list 'interactive)
这是一个返回单个项目的列表的形式,作为符号interactive
该函数的参数列表是:
(command &optional arg &rest ignored)
因此,当此功能交互调用,参数command
将具有值interactive