在 Clojure 命名空间中,我使用斜杠将命名空间或命名空间别名与该命名空间中的符号分开,如
(ns whatever (:require [clojure.math.combinatorics]))
(clojure.math.combinatorics/subsets [42 43 44])
但是,我刚刚意识到,看着 a project.clj
,斜线似乎在依赖项部分意味着完全不同的东西,如
(defproject whatever "1.0.0"
:description (str "yeah sure yubetcha")
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.4.0"]
[org.clojure/math.combinatorics "0.0.3"]])
我通常不会遇到依赖关系问题:我只是漫不经心地从文档中抓取它们,然后它们会被Leiningen
fromclojars.org
或类似的东西神奇地下载。但我刚刚意识到我不理解这里的斜杠语法,并希望得到澄清,特别是如果使用与使用命名空间的斜杠完全正交,或者是否有更微妙的事情发生。