【问题标题】:common lisp: eval a top-level form only once for a lisp sessioncommon lisp:对于一个 lisp 会话,只评估一次顶级表单
【发布时间】:2012-06-19 20:42:01
【问题描述】:

我最近正在使用 REPL 进行更多交互式开发,并且我有一段代码将符号推送到全局动态变量(列表数据结构)上。问题是,我发现自己反复重新加载将该符号推送到全局的文件,因此每次重新加载时,我都会将另一个重复的符号推送到列表中。

我希望每个 lisp 会话只执行一次推送操作,无论重新编译/重新加载的次数如何,以模拟在更传统/已部署的环境中的行为,当我只加载代码时一次用于 lisp 会话。

这是我现在使用的方法。我希望有更好的方法....

(defvar *do-only-once*
  (progn
    (push 'some-val *some-global-lst*)
    'evaled))

【问题讨论】:

    标签: macros lisp common-lisp


    【解决方案1】:

    我会改用PUSHNEW

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-06
      • 2012-07-31
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多