在Clojure命名空间中,我使用斜杠来分隔命名空间或命名空间别名和该命名空间中的符号,例如
然而,我在查看
(ns whatever (:require [clojure.math.combinatorics]))
(clojure.math.combinatorics/subsets [42 43 44])
然而,我在查看
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
从 clojars.org
等地方神奇地下载它们。但我刚意识到我不理解这里的斜线语法,并且如果使用方式与带有名称空间的斜线用法完全正交,或者是否还有更微妙的东西,我将不胜感激,希望您能为我做出澄清。