文件在clisp中加载困难

时间:2016-12-15 09:10:46

标签: load lisp common-lisp clisp

所以我正在尝试学习Lisp,我在Windows 10 PC上下载了GNU CLISP 2.49。我已经在文件中写了一些代码,我想用(load "example.lisp")命令从CLISP终端加载它。

我应该把文件放在哪里才能在clisp中加载它?

我在C:\clisp-2.49安装了clisp。

4 个答案:

答案 0 :(得分:5)

您应该从load函数的文档开始,页面底部将为您提供答案:

  

变量CUSTOM:*LOAD-PATHS*。变量CUSTOM:*LOAD-PATHS*包含一个目录列表,除了指定的或当前目录外,还有LOAD,REQUIRE,COMPILE-FILE和LOAD-LOGICAL-PATHNAME-TRANSLATIONS查找文件。

因此,您应该检查变量custom:*load-paths*并在那里添加您的目录:

(pushnew #p"c:/home/lisp/" custom:*load-paths* :test #'equalp)

或者您可以在源所在的目录中运行clisp

PS。你现在欠我1 zorkmid。 : - )

答案 1 :(得分:3)

sds的优秀答案外,这里还有Windows视角。

在Windows或Unix上的命令行环境中,您不会遇到此问题,因为很明显您处于某个“当前工作目录”中:

C:\Users\me\lisp_project> clisp -q
[1]> (load "example.lisp") 

也就是说,使用相对路径加载文件将相对于此目录。在上面的场景中很清楚,如果文件C:\Users\me\lisp_project\example.lisp,那就是加载的内容(除非有人重新配置custom:*load-paths*不要查看当前工作目录)。

使用Windows资源管理器GUI启动进程时,它仍然具有当前工作目录。如果您通过启动.exe文件来启动进程,则其工作目录是.exe所在的目录。

但是,如果通过快捷方式启动可执行文件,则当前工作目录由快捷方式的属性确定。您可以编辑它:右键单击快捷方式并将“开始”目录更改为您想要的任何内容。

换句话说,您可以创建clisp.exe的快捷方式,将其放入您正在使用的任何文件夹中,并让它“开始”该文件夹。

这种方法适用于任何语言翻译,包括那些缺乏CLISP custom:*load-paths*复杂性的语言翻译。

答案 2 :(得分:0)

如果要从Desktop目录加载文件,可以执行以下操作:

(load "../../Users/User/Desktop/Dateiname.lisp")

答案 3 :(得分:0)

如果当前目录中包含空格,则

clisp-2.49-win32-mingw-ming-big.exe将不起作用。确保目录中没有空格。