2012-09-25 20 views
3

我需要在lisp中爲程序創建一個輸出文件,但我無法運球來正確記錄我的輸出。我使用lispbox和我的緩衝區看起來是這樣的,當我嘗試使用運球:運球正在產生空的輸出文件

(dribble "output.txt") 
"output.txt" 
... Calls to functions I defined 
... I've tried entering expressions, values, strings 
(dribble) 
NIL 

但是,當我去到output.txt我有一個空的文件,該文件是0字節。我拉我的頭髮,因爲我無法找到答案,它似乎像我的電腦是問題。任何想法在哪裏開始解決這個(或解決方案)將不勝感激。

+0

您確定「output.txt」文件是由此次運行調用創建的嗎?嘗試給DRIBBLE提供文件的完整路徑。 – sds

+0

另一件事是你應該嘗試沒有lispbox,在香草clisp。 – sds

回答

2

我敢打賭dribble正在重新綁定一些不同於SLIME用來獲取REPL輸出的流。 (問題DRIBBLE-TECHNIQUE可能值得一讀。)

您的解決方案取決於您在做什麼。如果您只是想要記錄與Lisp的交互,請記住,emacs是一個文本編輯器,您可以將REPL緩衝區的內容保存到文件或複製摘錄。

如果你想編寫一個程序將輸出保存到一個文件中,dribble不是一個好的機制。看看 opencloseprintformat, 和 with-open-file