function - Emacs 定义一个将参数设置为 nil 的函数

标签 function emacs lisp

我想创建一个 nil 函数,它接受任意数量的符号并将它们全部设置为 nil。

(defun clean (as many args as given by user)
  (setq each-arg nil)
)

(clean x y z)

如何“干净利落地”做到这一点?

最佳答案

因为你没有引用参数,所以它必须是一个宏:

(defmacro clean (&rest symbols)
  `(progn
     ,@(mapcar (lambda (sym) (list 'setq sym 'nil))
               symbols)))

关于function - Emacs 定义一个将参数设置为 nil 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292227/

相关文章:

javascript - 显示 javascript 函数的返回值

ruby - 如何将分配和散列的智能对齐添加到 emacs 中的缩进区域?

mysql - MySql密码中的特殊字符

c# - 如何使用 MysqlConnector 调用 mysql 函数?

emacs - 在 Emacs 启动时列出加载的配置文件?

css - 在 Emacs 中,如何在 css 模式下关闭缩写?

lisp - 计算 lisp 中前 n 个数字的总和

lisp - McCLIM,如何捕捉击键?

lisp - 如何要求 super 普通的标准输入?

bash - 在 Bash 中将带空格的字符串作为函数参数传递