2012-06-24 57 views

回答

5

它大致是:

namespace > files > vars 

需要注意的是:命名空間在一個文件中頻繁定義的,但不必是(您可以使用多個文件來定義一個名字空間

  • 變量可以包含任何東西:函數,Java對象,數據,宏等大多數時候,它們將是函數或頂級數據文字
  • 命名空間是dy namic:它們可以在運行時修改。這給你帶來很大的靈活性來組織以不同的方式你的代碼,如果你想(你可以生成和編程填充您的命名空間爲例)

參見:

0

Clojure命名空間是java包,所以大多數Clojure程序的組織非常類似於java程序,至少達到包級別。

在包級別之後,我發現許多Clojure程序比Java的平臺更平坦。

+1

Clojure名稱空間通常類似於java包使用,但它們明確地用不同的語義實現。請參閱[clojure.lang.Namespace](https://github.com/clojure/clojure/blob/d0c380d9809fd242bec688c7134e900f0bbedcac/src/jvm/clojure/lang/Namespace.java)java類。 Clojure確實有[libs](http://clojure.org/libs)的概念,這些概念可以作爲java資源使用,並且通常提供一個clojure命名空間。 –