我learned,wrap-reload
中的ring
需要捕获var
本身而不是值,但是如果我的值是动态生成的而不是顶级var
,该怎么办?
(defn -main [options]
(let [app (make-app options)]
;; This won't work either:
;; (run-jetty (wrap-reload #'app))
(run-jetty (wrap-reload app))
))
Clojure let
绑定不会创建Var
对象,因此您不能使用传递(var app)
(或快捷方式#'app
)的技巧来代替app
指向的功能对象。
请参阅以下内容以获取更多详细信息:When to use a Var instead of a function?