2012-06-24 6 views

答えて

5

それはおおよそ次のとおりです。

namespace > files > vars 

注こと:

  • 名前空間が頻繁に単一のファイルに定義されていますが、(名前空間を定義するために複数のファイルを使用することができますする必要はありません。 )
  • varsには、関数、Javaオブジェクト、データ、マクロなどが含まれます。ほとんどの場合、関数またはトップレベルのデータリテラルになります
  • 名前空間はdyですナミック:実行時に変更することができます。これは、あなたがしたい場合は、さまざまな方法であなたのコードを整理するためにあなたの柔軟性のかなり多くを提供します(あなたがたとえば、プログラムで、あなたの名前空間を生成し、取り込むことができます)

も参照してください:

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リソースとして利用可能になり、通常は1つのクロージャ名前空間を利用可能にします。 –

関連する問題