3

このページでは、多くのclojureライブラリを紹介しています。また、このページでは、clojure-contribの使用を検討するためのコメントもあります。

  • clojure-contrib.jarのサイズが異なるのはなぜですか?leiningenのclojure-contrib-1.2.0-beta1.jarのサイズは479.2KBですが、ProgrammingClojureからダウンロードしたconjure-contrib.jarのサイズは2.9MBです。ここで説明したように。clojure-contrib.jarは今日の時点で標準化されていませんか?
  • ページ内のライブラリはclojure -contribの一部である必要がありますか?もしそうなら、なぜleiningenのclojure-contrib.jarにstr-utilsまたはrepl-utilsがないのですか?その結果、emacs / slimeでleiningen(lein swank)を実行('clojure.contrib.str-utilsを使用)できません。
  • ページに示されているclojure.contrib.Aの意味は何ですか?私の知る限り、('abを使用)clojureは、ロードするCLASSPATH / A / B.cljを見つけて、プログラミングClojureブックの18ページで説明されているように参照できます。これは、/ clojure/contribにあるAcljファイルを意味します。ディレクトリまたはclojure-contrib.jar内?
  • ページ内のライブラリをダウンロード、インストール、およびセットアップする方法は?

追加した

leiningenを更新した後、('clojure.contrib.str-utilsを使用)が正常に機能することを確認しました。しかし、('clojure.contrib.repl-utilsを使用)は私に次のエラーを与えます。

  [スローされたクラスjava.lang.IllegalStateException]

再起動:
 0:[QUIT]SLIMEトップレベルで終了します

バックトレース:
  0:clojure.lang.Namespace.warnOrFailOnReplace(Namespace.java:88)
  1:clojure.lang.Namespace.reference(Namespace.java:110)
  2:clojure.lang.Namespace.refer(Namespace.java:168)
  3:clojure.core $ refer.doInvoke(core.clj:3288)
  4:clojure.lang.RestFn.invoke(RestFn.java:411)
  5:clojure.lang.AFn.applyToHelper(AFn.java:163)
  6:clojure.lang.RestFn.applyTo(RestFn.java:133)
  7:clojure.core $ apply.invoke(core.clj:542)
  8:clojure.core $ load_lib.doInvoke(core.clj:4781)
  9:clojure.lang.RestFn.applyTo(RestFn.java:143)
 - もっと - 

(require'clojure.contrib.repl-utils) work、and I can use (clojure.contrib.repl-utils / show#{})、but (refer' clojure.contrib.repl-utils)は私にエラーを与えます。

そして、ここにもう少し質問があります。

  • なぜ('..repl-utilsを使用)はエラーを引き起こしますが、str-utilsはエラーを引き起こしませんか?2つのライブラリの違いは何ですか?
4

2 に答える 2

2

標準化とはどういう意味かわかりませんが、contribは正当な理由なしに後方に壊れるような変更を加えることはありません。それらが十分に重要である場合、いくつかのものは時々コアに移動されます-私はそれを行うシーケンス関数、そしておそらくあなたが考えている文字列関数を思い出しているようです。

Re:Leiningen:新しいバージョンが出ました。いずれにせよ、バージョンの競合があるようです。

クラスパスについて:慣れるまで(または私にとっては)、多くの不快な問題の原因。コンテキストを考えると、それはあなたが言及したことのいずれかである可能性があります。私たちはほぼ確実にclojure-contrib.jarについて話しているのです。

ダウンロードなどにはいろいろな方法があります。最も簡単な方法は、事実上すべての場合において、プロジェクトのproject.cljファイルに依存関係としてそれらをリストすることです。言い換えれば、leiningenを使用します。clojarsからダウンロードすることもできます。または、githubリポジトリのクローンを作成し、個別にコンパイルして、プロジェクトのlibディレクトリにコピーすることもできます。しかし、真剣に、ただleiningenを使用してください。

于 2010-08-02T06:50:41.657 に答える
1
  1. clojure-contribの多くの機能は、Clojure1.2のclojureコアに移動しました。現在と1.1の違いは、clojure.coreの成長とほぼ同じです。

  2. ライニンゲンの最新情報を入手する

  3. レイニンゲンを使っているだけなのかわからない

  4. leinigenのproject.cljに追加するだけです

于 2010-08-02T08:14:07.763 に答える