首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clisp中的文件加载困难

clisp中的文件加载困难
EN

Stack Overflow用户
提问于 2016-12-15 09:10:46
回答 4查看 5K关注 0票数 0

因此,我正在努力学习Lisp,并在我的Windows 10 PC上下载了GNU CLISP 2.49。我已经在一个文件中编写了一些代码,我想用(load "example.lisp")命令从CLISP终端加载它。

我应该把文件放在哪里才能像这样在clisp中加载呢?

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-15 14:48:08

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

变量CUSTOM:*LOAD-PATHS*.变量CUSTOM:*LOAD-PATHS*包含一个目录列表,其中除了指定或当前目录外,还按加载、需求、编译文件和加载逻辑-PATHNAME翻译查找文件。

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

代码语言:javascript
复制
(pushnew #p"c:/home/lisp/" custom:*load-paths* :test #'equalp)

也可以在源所在的目录中运行clisp

PS。你现在欠我1佐尔克米德。:-)

票数 6
EN

Stack Overflow用户

发布于 2016-12-15 15:10:28

除了sds的出色答案之外,这里还有一个Windows透视图。

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

代码语言:javascript
复制
C:\Users\me\lisp_project> clisp -q
[1]> (load "example.lisp") 

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

当您使用Windows启动一个进程时,它仍然有一个当前的工作目录。如果您通过启动一个.exe文件来启动一个进程,那么它的工作目录就是.exe所在的目录。

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

换句话说,您可以创建一个指向clisp.exe的快捷方式,将其放置到您正在处理的任何文件夹中,并让它“在”该文件夹中开始。

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

票数 4
EN

Stack Overflow用户

发布于 2018-05-29 11:21:55

如果要从桌面目录加载文件,可以:

代码语言:javascript
复制
(load "../../Users/User/Desktop/Dateiname.lisp")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41160271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档