問題タブ [clojure-java-interop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
143 参照

java - ClassCastException MyType は MyType にキャストできませんか?

Clojure で deftype を使用しているときに問題が発生しました。次のコードを実行すると:

次に、コンパイラがスローします: ClassCastException MyProject.core.TestType を MyProject.core.TestType にキャストできません。私は何か間違ったことをしていますか、それともこれはバグですか? テスト関数から型注釈を削除すると、次のようになることに注意してください。

その後、コードは正常に動作しますが、リフレクションに関する警告 (warn-on-reflect が有効になっている場合) が表示され、実行が遅くなり、現在のユースケースで deftype を使用する目的が無効になります。

編集:わかりました、コードはreplで機能しますが、ctrl-alt-sを使用してロードすると機能しません(反時計回りでEclipseで実行しています)。したがって、問題はEclipseまたは反時計回りにあるようです。

0 投票する
1 に答える
157 参照

clojure - クロジュラティカのセットアップ

Clojuratica をセットアップしようとしています (MMa v 9 無料トライアル) (Mavericks を実行している Mac で)

「Clojure Data Analysis Cookbook」の手順に従っていますが、次の手順にも従っています。

エラーメッセージが表示されます:

0 投票する
2 に答える
1597 参照

clojure - clj-http api を使用して clojure でマルチパート リクエストを作成する方法

を使用してマルチパート HTTP リクエストを作成したいと考えていますclj-http。マルチパート リクエストは以下のとおりです。

この Clojure コードを使用して、マルチパート リクエストを作成しています。

マルチパートに追加するにはどうすればよいContent-Idですか?

0 投票する
1 に答える
276 参照

clojure - Clojure - 別の名前空間から gen-class にアクセスするための構文の問題

lein がコードを再コンパイルする方法は予測できないようです。あるディレクトリに gen-class ファイルがあり、別のディレクトリにアクセスしようとしています。たとえば、次の gen-class があるとします。

そして、別の名前空間からこれにアクセスしようとすると、1、2、3 のランダムなバリエーションを試すことになります。

「a.Target」の代わりに「Target」を認識する構文がないように思われるため、gen-class への対処方法に明らかに誤りがあります。これは問題です。注釈付きのプロバイダー メソッドを使用して guice-injector にアクセスしようとしているのですが、注釈の構文が完全なクラス仕様または単純なクラス仕様のいずれも受け入れていないようです。

または簡略化されたもの:

0 投票する
2 に答える
331 参照

clojure - Clojure 初心者 - Java コードを Clojure に書き換える

着信メッセージに応答し、マルチユーザー チャットの招待を受け入れる SMACK xmmp ライブラリを使用する単純な Java コードがいくつかあります。このクロージュアを変換しようとしています。ボットはログインしますが、メッセージに応答しません。

0 投票する
0 に答える
200 参照

serialization - Clojure: ロード時や実行時ではなく、コンパイル時に Java オブジェクトを作成する方法

Clojure で Java ライブラリを使用しています。Java ライブラリでは、コンパイル時にのみオブジェクトを作成する必要があります。アプリが uberjar (leiningen で作成) を介してデプロイされる場合、この構成オブジェクトはエラーなしで適切に作成できません。

マクロを使用して、コンパイル時のみにオブジェクトを作成できます。問題は、シリアライズできないことです。アプリがuberjar経由で実行されているときに、このオブジェクトをjvmで使用できるようにするにはどうすればよいですか? アトムは、jar を実行している新しい jvm インスタンスのロード時または実行時にリセットされるため、オブジェクトをアトムに配置しても機能しません。コンパイル時の jvm には、このオブジェクトを aot コンパイル済みクラスの 1 つに配置する方法が必要です。(gen-class) は、初期化子を介して実行時にしか状態を初期化できないため、機能していないようです。

0 投票する
2 に答える
117 参照

clojure - Neo4j Embedded の Clojure で DynamicLabel をラベルにキャストする

ここにある clojureの neo4j サンプル コードを書き直そうとしています。しかし、ノードを作成しようとすると、次のエラーが発生します

これが私のコードです:

あらゆる種類のあらゆる場所でタイプヒントを試しましたが、それでも同じエラーが発生します。