我刚刚下载了 Ready Lisp 并且正在玩 REPL。我想知道的是,我如何编写一个长程序,解释它并获得输出?有点像 PLT Scheme 所拥有的。
如果可能的话,我想用最少的麻烦来做这件事。只想继续读我正在读的书。谢谢。
我刚刚下载了 Ready Lisp 并且正在玩 REPL。我想知道的是,我如何编写一个长程序,解释它并获得输出?有点像 PLT Scheme 所拥有的。
如果可能的话,我想用最少的麻烦来做这件事。只想继续读我正在读的书。谢谢。
Common Lisp 提供了LOAD和COMPILE-FILE函数。
LOAD将加载 Lisp 文本源代码或编译文件并执行它们。完成的任何打印都将转到通常的输出流。
COMPILE-FILE允许从带有 Lisp 源代码的文件生成编译文件。它的优点是程序通常在使用文件编译器时运行得更快,并且编译器会进行一些检查并可能给出优化提示。许多实现将生成本机机器代码。然后可以使用 LOAD 加载使用 COMPILE-FILE 生成的文件。
请注意,在 Common Lisp 中,通常使用正在运行的 Lisp 来编译和加载代码。在 PLT Scheme 中,使用的模型是,每次“开始”时,代码都会在新的 Scheme 中执行。这可能对初学者有所帮助,但通常是在浪费时间编写大型软件。
您打开一个新文件 ( example.lisp
),输入您的源代码,然后C-c C-c
编译和加载单个顶级表单,或者C-c C-k
编译和加载整个文件。
“编译并加载”是指修改运行镜像。您不需要在稍作修改后重新编译所有内容,只需重新编译有defun
问题的表单即可。然后,您可以切换到 REPL 并尝试一下。
例如,您可以将此表单输入到源文件中:
(defun square (n)
(* n n))
然后,在该表格上点按C-c C-c
,切换到 REPL 并尝试一下:
CL-USER> (square 3)
9
CL-USER>