2
爲什麼下面的代碼不能通過編譯?Clojure編譯問題
(defn testit [asym] (var asym))
的錯誤是:
CompilerException java.lang.RuntimeException: Unable to resolve var: asym in this context, compiling:(NO_SOURCE_PATH:1)
爲什麼下面的代碼不能通過編譯?Clojure編譯問題
(defn testit [asym] (var asym))
的錯誤是:
CompilerException java.lang.RuntimeException: Unable to resolve var: asym in this context, compiling:(NO_SOURCE_PATH:1)
asym
沒有一個var
,這是一個地方;在這種情況下,您定義的函數的唯一參數爲testit
var。
如果你想從該函數返回asym
:
(defn testit [asym] asym)
如果asym
是一個符號,它的名字要返回一個變種,然後使用resolve
:
(defn testit [asym] (resolve asym))
一般注意事項:(var x)
是對應於閱讀器語法#'x
的擴展special form。