Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Lisp导入/加载文件_File_Import_Lisp - Fatal编程技术网

File Lisp导入/加载文件

File Lisp导入/加载文件,file,import,lisp,File,Import,Lisp,在Lisp中是否有一种方法可以包含来自其他Lisp文件的代码 例如,在C++中,我可以这样做: #include <iostream> #include <string> #include "myfile.h" etc... 是否有Lisp等价物?使用标准函数,如和 ANSI Common Lisp还有一个函数REQUIRE 如果将“系统”维护工具用作Common Lisp的扩展,则还可以加载或编译整个“系统”。“系统”是指文件和子系统的集合,其中定义了加载和编译等操作

在Lisp中是否有一种方法可以包含来自其他Lisp文件的代码

例如,在C++中,我可以这样做:

#include <iostream>
#include <string>
#include "myfile.h"
etc...

是否有Lisp等价物?

使用标准函数,如和

ANSI Common Lisp还有一个函数REQUIRE


如果将“系统”维护工具用作Common Lisp的扩展,则还可以加载或编译整个“系统”。“系统”是指文件和子系统的集合,其中定义了加载和编译等操作。

除了Rainer的答案外:

如果要加载-系统,请使用:

(asdf:load-system 'my-system)
一些Lisp实现(例如CCL)也允许使用
require
加载ASDF系统,但该功能依赖于实现。如果您正在使用Slime,并且希望以交互方式加载系统,可以在Slime REPL处键入
,l my system

我想指出的另一件事是,与Python不同,在CL中使用
require
load
与包没有任何关系(想想“名称空间”)。因此,如果您正在加载或需要的代码存在于其自己的包中,则必须使用其导出的合格符号(
foo:bar
),或者将这些包包含在您的代码所在的包中(
(defpackage my package(:use cl package your want use…)
)。这不仅不同于Python
import
s,也不同于C预处理器
#include
s,后者仅仅是文本包含。

旧问题,但+1表示“导入反重力”
(asdf:load-system 'my-system)