2010-11-23 30 views
18

我跟着这个tutorial并成功安装了Emacs,STk,Quack。如何使用Emacs运行方案?

问题是我如何在Racket中像我一样加载我的程序?

在球拍我可以在上面的窗口中编辑我的代码,键入一些代码,保存并运行。然后下面的窗口会自动加载我刚写的代码。然后我可以玩它。

我试过M-x run-scheme。它只能让我进入mit-scheme。然后它说没有这样的文件或目录存在。然后我试了F5(网站的作者写了一个.emacs文件让我可以按F5)。然后STk打开。我可以在STk中加载我的方案文件。但它会使我回到麻省理工学院的edwin计划。

我想在球拍(写/ REPL)中有同样的事情。但关键运动更灵活。在球拍中你没有C-f C-n C-a ...等。

任何人都可以教我如何做?

+0

不是您的问题的答案,但:球拍与STk非常*不同。其中一个特别的方面与你的问题更相关 - 在STk中你使用`load`来加载文件,因为没有模块系统(至少我没有知道)。 – 2010-11-23 19:26:59

+0

感谢您的回复。我只想使用STk(或任何实现)作为Emacs内部的编译器来编译我的代码。不管怎样,谢谢!!! :D – juanitofatas 2010-11-25 06:52:43

回答

27

我从字面上只是设置在我的Macbook上。既然你没有指定你在使用什么系统,我希望你使用的是一些Unix的风格......我对STk并不熟悉,但是这可能会帮助你理清你遇到的任何问题,这听起来真的很有趣类似于我面临的问题。

如果您安装Scheme实现(我正在使用MIT Scheme,经过编辑补充说这也适用于Racket,使用mzscheme),它可能带有名为“scheme”的符号链接 - 这是Emacs寻找的内容,我认为。

如果没有(MIT Scheme似乎没有在OS X上),您可以编辑您的Emacs配置,在Emacs中输入M-x customize-group,然后输入scheme。向下滚动一下,找到Scheme program name字段。将其更改为您的Scheme实施命令,如mit-schememzscheme。你也可以建立在你的PATH一个符号链接指向正确的二进制文件:

sudo ln -s /Applications/mit-scheme.app/Contents/Resources/mit-scheme 
    /usr/local/bin/scheme 

麻省理工学院的计划,还需要设置MITSCHEME-LIBRARY-PATH变量,因此将它添加到您的.emacs

(setenv "MITSCHEME_LIBRARY_PATH" 
    "/Applications/mit-scheme.app/Contents/Resources") 

然后你应该可以用M-x run-scheme启动劣质的Scheme缓冲区。并将代码传递给REPL,代码为C-x C-e,用于评估表达式之前的表达式。

如果这不起作用(它不适用于我),您可能需要确保Emacs用于执行shell命令的路径包括scheme符号链接或任何目录包含您的实现的二进制文件。对于一些实验,我加入这个我.emacs文件解决了这个问题:

Emacs is ignoring my path when it runs a compile command

对于引用,其他SO问题,我用此设置:

How do I get a scheme interpreter working inside Emacs?

+0

对不起,我没有提到我的系统是windows。我会尝试你的方法。非常感谢!!!!美好的一天! – juanitofatas 2010-11-25 06:50:15

2

64现在,GNU的位下载将.app命名为“MIT:GNU Scheme.app。“我试图@ spacemanaki的指示,但我一直得到:

bash-3.2$ export MITSCHEME_LIBRARY_PATH=/Applications/MIT:GNU\ Scheme.app/Contents/Resources 
bash-3.2$ scheme 
    scheme: can't find a readable default for option --band. 
    searched for file all.com in these directories: 
    /Applications/MIT 
    /Applications/MIT:GNU Scheme.app/Contents/Resources/GNU Scheme.app/Contents/Resources 

最终,我意识到分号被用作路径分隔符所以只要确保将其重命名:

mv MIT:GNU\ Scheme.app/ mit-scheme.app 

接着上面的说明会工作正常 - 虽然你可能不得不使用Finder进行重命名,因为当我在外壳上执行它时,我的Resources文件夹消失了。

0

如果您的应用程序使用简单命令brew install mit-scheme,我会建议使用Homebrew来安装mit-scheme在Mac上。寻找你的~/.emacs file,如果它不存在,那么创建一个,这个附加到文件的末尾:

(setq scheme-program-name "your/mit-scheme/path") 

使用which mit-scheme命令来查看已安装在您MIT的方案在哪里。 以我的MacOS X为例:

(seq scheme-program-name "/usr/local/bin/mit-scheme") 

保存并退出。 然后重新启动您的Emacs并键入M+x,然后您就可以开始使用了。