33

Python

当我学习 Python 时,我用一个不错的 gui 安装程序将它安装在 windows 上,所有 .py 文件都会从命令行或资源管理器自动在 python 中运行。

我发现这非常直观和简单,因为我可以立即制作纯文本文件并运行它们。

语言

我开始学习 lisp 并决定(从评论中)SBCL 不是一个糟糕的 lisp 实现。

有没有办法设置 SBCL 以像使用 Python 一样轻松运行 .lisp 文件?

是否还有其他具有此功能的 lisp 实现?

4

4 回答 4

27

可执行文件

SBCL 可以保存可执行图像,正如 Greg Harman 所提到的(参见 :EXECUTABLE 关键字):http ://www.sbcl.org/manual/index.html#Saving-a-Core-Image

脚本

Lisp 文件可以作为脚本执行,参见:http ://www.sbcl.org/manual/#Shebang-Scripts

命令行选项

SBCL 具有命令行选项,可在启动时评估/加载 lisp 代码:http ://www.sbcl.org/manual/#Command-Line-Options

粘液

SLIME是 Common Lisp 的 Emacs 接口。可以在 Emacs 中通过 SLIME 使用 SBCL。许多人更喜欢 Emacs Lisp 侦听器而不是典型的 shell 接口。

大多数 Common Lisp 实现都具有类似的功能。有关详细信息,请参阅他们的手册或在此处询问具体实现。

于 2010-06-07T20:58:36.800 回答
11

几分钟前,有人回复了一个接近我正在寻找的答案。

回复链接到http://www.sbcl.org/manual/Shebang-Scripts.html,这对找出我的解决方案很有帮助。无论是谁,都不应该删除他们的答案,因为我将其标记为正确;)

我的最终解决方案是创建一个批处理脚本,该脚本通过正常的程序文件关联链接为打开 .lisp 文件的程序(右键单击文件-> 属性-> 打开方式-> [更改])。

@ECHO OFF
"C:\Program Files\Steel Bank Common Lisp\1.0.37\sbcl.exe" --script %1

当您在资源管理器中双击文件时,它会执行它们,当您在命令行中运行它们时,它会执行相同的操作。

于 2010-06-07T21:17:11.067 回答
2

SBCL 可以通过sb-ext:save-lisp-and-die保存可执行的核心映像

于 2010-06-07T20:49:09.890 回答
1

如果您已经下载并安装了 SBCL 解释器,那么为了通过简单地将程序输入命令行来运行程序,您需要将解释器的位置添加到系统 PATH 变量中,以便您的机器知道在哪里查找。

这适用于任何语言。Python 安装程序所做的是将 Python 解释器的位置添加到 PATH 环境变量中。

根据您的平台,在 Google 上快速搜索如何设置环境变量。

于 2010-06-07T20:33:54.823 回答