2015-12-17 107 views
0

:require似乎並沒有在Gorilla工作。我打開了一個新的會話並運行以下命令:爲什麼大猩猩拋出'無法解決符號'錯誤?

(ns pacific-iceberg 
    (:require [gorilla-plot.core :as plot])) 

(defn f [x] (Math/pow x 2)) 
(plot f [-9 9]) 

輸出:

An exception was caused by: java.lang.RuntimeException (Unable to resolve symbol: plot in this context) 
... 

這是怎麼回事?

回答

2

你很困惑:as:refer。 Clojure的requiredocumentation解釋說:

識別的選項:

:爲需要一個符號作爲它的參數,使該符號的別名在當前命名空間中的 LIB的命名空間。

:請參考從命名空間或:所有 關鍵字中引用符號列表以引入所有公共變量。

如果你想從該庫被稱爲「暗算」你的函數,你要提到它沒有名字的間距,請使用:refer plot,但如果你想使名稱空間明確的(我的偏好),然後使用像:as gorilla然後用gorilla/plot調用它。

+0

啊,對。我應該使用'(plot/plot f [-9 9])''。非常感謝!奇蹟般有效! – Zaz