输入命令时自动在LISP中重新加载文件

时间:2011-09-15 15:09:08

标签: lisp

我正在为一堂课学习LISP。我在Ubuntu中有一个基本的工作流程设置,在VIM中有我的LISP文件,在终端中有一个交互式LISP提示,我用它来编写代码。有没有办法在每次键入命令时让LISP加载特定文件?不得不经常输入(load 'initial-code.cl)会有点累人(是的,即使我使用终端的历史记录)。

3 个答案:

答案 0 :(得分:1)

大多数Lisp程序员会鼓励您使用SLIME

如果您喜欢Eclipse,还有Lisp plugin

我知道这并没有真正回答你的问题,但至少你可以知道一些替代方案。

答案 1 :(得分:1)

总是可以尝试:

(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)

雅知道,这是口齿不清。不喜欢什么,改变它。

如果有更多时间,您可以编写一个可以动态构建这些包的简单包装器。但是你明白了。

答案 2 :(得分:1)

你可以尝试slimv,这就像vim的粘液。