我发现了一些这样的代码,
1 (require 'cl-lib)
2 (require 'company)
3
4 (defun company-sample-backend (command &optional arg &rest ignored)
5 (interactive (list 'interactive))
...
)
Run Code Online (Sandbox Code Playgroud)
但是如何理解第5行?
interactive声明的自变量可以是字符串或省略号形式,当对其求值时,将返回该函数的自变量值列表。
在这种情况下,声明使用返回列表的形式。形式是:
(list 'interactive)
Run Code Online (Sandbox Code Playgroud)
这是一种返回单个项目列表的形式,即符号 interactive
该函数的参数列表为:
(command &optional arg &rest ignored)
Run Code Online (Sandbox Code Playgroud)
因此,当以交互方式调用此函数时,参数command将具有值interactive