2009-01-02 44 views

回答

3

我同意最好的工作流程方法是將你的代碼寫入一個單獨的緩衝區,並在那裏評估,而不是在repl中輸入函數。

假設你已經採用repl的方式,我想,C. Martin的解決方案可以保存repl日誌並手動通過它,這是你唯一的選擇。

如果您將函數和變量輸入到單獨的包中,您可以通過包中的符號來幫助您決定要保留的內容。

E.g.看到在cl用戶包創建的所有符號:

(let ((p (find-package :cl-user))) 
    (loop 
    for s being the symbols in p 
    when (eq p (symbol-package s)) 
    do (format t "~a~%" s))) 
5

我不明白。您是否在REPL中輸入定義並希望稍後恢復它們?就像保存任何其他語言一樣保存源文件。使用C-x 2將Emacs窗口分成兩部分。在其中一個C-x C-f foo.lisp中打開源文件。使用C-C C-K,C-C C-R和朋友(參見SLIME菜單)在REPL中編譯/評估源代碼的區域。

5

我在過去找過這樣的東西,一直找不到它。您最好將所有定義寫入單獨的緩衝區,並使用SLIME廣泛的評估/編譯函數(Cc Ck加載整個文件,Cx Ce評估最後一個表達式,Cc Cr評估區域等),直接進入REPL你不想保存的東西。

4

恩,C-x oC-x b到達SLIME REPL緩衝區,然後C-x wC-x C-s將其保存到文件。所有SLIME/CL的內容都是讀者評論;你可以寫一個閱讀器黑客來重新加載處理提示的文件作爲註釋,或者你可以通過文件自己來捕獲你想要保存的作品。

+0

我知道我應該意識到這一點。當我們談到Emacs時,我想我仍然有點睜大眼睛。謝謝! – dogenpunk 2013-01-08 05:56:15

相關問題