【发布时间】:2011-09-15 15:09:08
【问题描述】:
我正在为一堂课学习 LISP。我在 Ubuntu 中有一个基本的工作流程设置,在 VIM 中使用我的 LISP 文件,在终端中使用交互式 LISP 提示符,我在编写代码时使用它来测试代码。每次我输入命令时,有没有办法让 LISP 加载特定文件?不断输入(load 'initial-code.cl) 有点累(是的,即使我正在使用终端的历史记录)。
【问题讨论】:
标签: lisp
我正在为一堂课学习 LISP。我在 Ubuntu 中有一个基本的工作流程设置,在 VIM 中使用我的 LISP 文件,在终端中使用交互式 LISP 提示符,我在编写代码时使用它来测试代码。每次我输入命令时,有没有办法让 LISP 加载特定文件?不断输入(load 'initial-code.cl) 有点累(是的,即使我正在使用终端的历史记录)。
【问题讨论】:
标签: lisp
可以试试:
(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)
你知道,这是口齿不清。不喜欢的东西,改变它。
随着时间的推移,您可以编写一个简单的包装器来即时构建这些。但你明白了。
【讨论】:
【讨论】:
你可以试试slimv,它就像 vim 的粘液。
【讨论】: