2010-11-23 65 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,然後您就可以開始使用了。