lisp - 获取用户创建的变量列表

标签 lisp common-lisp

我想获得我在 lisp session 中创建的所有变量的列表。我认为这应该可以通过查看 common-lisp-user 中的所有符号来实现。但是我怎样才能得到这样的列表呢?

最佳答案

要仅从 cl-user 获取绑定(bind)变量,您可以使用 do-symbols 迭代所有绑定(bind)符号并排除从其他包导入的符号:

(let ((external-symbols (mapcan (lambda (pkg)
                                  (let (rez)
                                    (do-symbols (s pkg rez)
                                      (push s rez))))
                                (package-use-list (find-package 'cl-user)))))
  (do-symbols (s 'cl-user)
    (when (and (boundp s)
               (not (member s external-symbols)))
      (print s))))

关于lisp - 获取用户创建的变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371708/

相关文章:

lisp - 如何使用任意数量的参数在 lisp 中定义结构?

rest - 额外的 header 未通过 url.el 发送

LISP SICP 视频讲座 2a 平均潮湿问题

list - 将项目添加到列表末尾的 'cons' 是什么?

lisp - lisp 中嵌套数据列表中的 'cdadr'

lisp - 为什么 (list + 1 2) 在 Common Lisp 中计算为 ('(+ 1 2) 1 2)

emacs - 如何在 Emacs Lisp 中使用 Slime 运行 Common Lisp 代码

lisp - 如何在 Lisp 中读取用户输入

scheme - Racket\Scheme 中的返回类型

lisp - 测试列表的所有元素是否彼此不同