2012-09-10 66 views
1

任何人都可以在編譯和加載文件後告訴我我們是否還需要在repl中定義函數(已經在編譯和加載的文件中)才能使用它?還是仍然存在進程 左側,以便repl檢測到已定義的函數?加載lisp中的文件

在lisp中加載文件有什麼意義?

謝謝。

回答

4

如果文件內容已經被讀入,那麼假設沒有錯誤拋出,所有的內容形式都被執行了。如果其中一個是DEFUN形式,那麼該函數將被定義。

準確地說,檢查the LOAD definition in the HyperSpec

+0

謝謝@paul nathan.will repl檢測函數嗎?我有0個錯誤和0個警告 – Sid

+1

除非在該文件中有一個'in-package',是的。如果文件中有一個'(in-package:foo)',根據是否導出bar,你將需要使用'(foo:bar)'或'(foo :: bar)'。 – krzysz00

+0

@ krzysz00或者使用(in-package:foo)將REPL關於當前包的想法設置爲foo包。 – Vatine