我最近正在使用 REPL 进行更多交互式开发,并且我有一段代码将符号推送到全局动态变量(列表数据结构)上。问题是,我发现自己反复重新加载将该符号推送到全局的文件,因此每次重新加载时,我都会将另一个重复的符号推送到列表中。
我希望每个 lisp 会话只执行一次推送操作,无论重新编译/重新加载的次数如何,以模仿在更传统/部署的环境中事情的行为,当我只加载一次代码时lisp 会话。
这是我现在使用的方法。我希望有更好的方法......
(defvar *do-only-once*
(progn
(push 'some-val *some-global-lst*)
'evaled))