在我的clojure文件的头部,我有一系列的defs,其中一些只是踩踏石头的defs,即不打算在文件中进一步使用.即
def src-folder (File. "src")
def lib-folder (File. src-folder "lib")
def dist-folder (File. src-folder "bin")
;; I only care for the lib-folder and dist-folder beyond this point
Run Code Online (Sandbox Code Playgroud)
在Clojure中这样做的正确方法是什么?
使用let而不是def第一个抛弃定义,并将剩余的def调用嵌套在let:
(let [root-dir (File. "projects/my-project")
src-folder (File. root-dir "src")]
(def lib-folder (File. src-folder "lib"))
(def dist-folder (File. src-folder "bin")))
Run Code Online (Sandbox Code Playgroud)
在评估之后,将src-folder丢弃本地绑定的let值,只允许其他程序访问lib-folder和dist-foldervars.