我正在为类(class)学习 LISP。我在 Ubuntu 中设置了基本的工作流程,在 VIM 中设置了 LISP 文件,并在终端中设置了交互式 LISP 提示符,我用它来在编写代码时测试代码。有没有办法让 LISP 在每次输入命令时加载特定文件?必须不断输入 (load 'initial-code.cl)
(是的,即使我正在使用终端的历史记录),这有点累。
最佳答案
总是可以尝试:
(let (fn)
(defun l (&optional filename)
(if filename
(setf fn filename))
(load fn)))
工作原理如下:
[2]> (l "x.lisp")
;; Loading file x.lisp ...
;; Loaded file x.lisp
T
[3]> (l)
;; Loading file x.lisp ...
;; Loaded file x.lisp
T
[4]>
非常简单。
您还可以执行以下操作:
(defun go ()
(load "project.lisp")
(yourfunc 'your 'parameters))
然后您只需键入 (go),它就会重新加载您的文件并调用您的主入口点。
或者甚至将它们组合起来:
(defun gogo (&rest args)
(l) ;; call (l "file.lisp") first to initialize it
(apply #'yourfunc args))
然后您可以轻松更改参数
(gogo 1 2)
(gogo 2 4)
你知道,这是口齿不清的。不喜欢某些东西,就改变它。
有了更多时间,您就可以编写一个简单的包装器来动态构建它们。但你明白了。
关于lisp - 输入命令时自动重新加载 LISP 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433146/