我发现了一些这样的代码,

 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

关于emacs - 如何理解 Emacs Lisp 中的这种形式 (interactive (list 'interactive))?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43179443/

10-14 07:54