【问题标题】:How to unload a lisp file in CLisp REPL?如何在 CLisp REPL 中卸载 lisp 文件?
【发布时间】:2010-09-19 22:45:56
【问题描述】:

我能够加载和调用函数,但我想 进行一些更正后重新加载文件。

找不到卸载或重新加载函数?

【问题讨论】:

    标签: common-lisp clisp


    【解决方案1】:

    卸载是不可能的。例如,可以删除一个包,从而删除它的定义。但是其他对该包的符号的引用可能仍然存在。

    正如 Vijay Mathew 所提到的,处理该问题的典型方法是再次 load 一个文件。

    加载的文件以可以重新加载的方式编写可能会有所帮助。

    关于重载的几点说明:

    • 函数/宏将被新定义替换。

    • 由于内联/宏扩展,现有代码中的函数/宏可能不会被替换。

    • CLOS 类将被更新,其实例将被延迟更新。

    • 将更新结构定义,不会更新现有结构实例。

    • 如果值不存在,DEFVAR 将替换该值。 DEFPARAMETER 总是替换一个值。

    【讨论】:

    • 我意识到这是一个旧答案,但我们开始了。值得一提的是,任何函数/宏/等。您可能已从文件中删除的文件仍然会挂起,污染图像并可能导致您在完全干净的构建中看不到的行为。
    【解决方案2】:

    再次使用load

    【讨论】:

      猜你喜欢
      • 2013-07-10
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      相关资源
      最近更新 更多