問題タブ [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 投票する
2 に答える
2001 参照

clojure - deftypeで作成されたクラスにコンストラクターを追加します

Javaとの相互運用性のために、初期化を実行するnullaryコンストラクターを持つクラスが必要です。このクラスのオブジェクトは、可変のJavaフィールドに似たものを持っている必要があります(つまり、オブジェクトはゲームのバックエンドを表し、ゲームの状態を維持する必要があります)。

deftypeは、nullaryコンストラクターを提供することを除いて、私がやりたいことをすべて実行します(フィールドを持つクラスを作成しているため)。

フィールドを公に読めるようにする必要はないので、次の4つの解決策を考えることができます。

gen-classを使用します。私はそれを避けることができればこれをしたくありません。
どういうわけか、deftypeの知識の外でプライベートメンバー変数をエンコードします。これはできないと言われました。
nullaryコンストラクターも作成する変更されたdeftypeを記述します。率直に言って、私はこれに十分なclojureを知りません。
deftypeによって作成されたクラスを取得し、それに新しいコンストラクターを追加します。

この最後に、Javaクラスが必要です。これは、クラスから新しいオブジェクトを作成するJavaコードにそれを渡すためです。

gen-classを使用する以外に、私が提案した(または私が考えていなかった)解決策は実行可能ですか?

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

clojure - clojure -- 定義されたレコードで名前が衝突する?

動作に問題のあるコードがあります。レコードにMethodInfoという名前を付けると、 .toStringメソッドが正しくオーバーライドされなくなりました。

簡単なテストを実行すると、これがどのように失敗するかがわかります。

レコードの名前をAに変更すると、コードが正しく動作していることがわかります。

私は何を間違っていますか??

0 投票する
3 に答える
527 参照

clojure - Clojure が JPanel に境界線を追加し、一般にオブジェクト内の Java メソッドにアクセスする

LISP から来て、私は Java オブジェクトにアクセスするときに最も困難な瞬間を経験しています。JPanel にタイトル付きボーダーを配置しようとしています。ここに私のコードと例外があります:

この種の状況に対処するためのルールはどこにありますか? いつものように、あなたの助けは高く評価されます.

皆さんの回答と説明に感謝します。関数の基本を投稿しているので、何を参照すればよいかがわかります。

そのように関数は問題なく動作しますが、私がやろうとしているのは、Panel_0 に TitledBorder を配置することです。あなたの指示に従って、さまざまな方法でコーディングを試みましたが、これまでのところ成功していません。
お世話になりました皆様に改めて感謝申し上げます。

更新:申し訳ありません。このすべての混乱で、私は別の定義を実行していました。はい、あなたとクガササンが言ったように機能します。私は最終的に次のようにコーディングしました:

そしてそれはうまくいきました!!! これに時間を割いていただき、ありがとうございます。

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

clojure - clojure gen-class varargs コンストラクター

:constructors マップとそれに続く -init 定義では、どうすれば varargs コンストラクターを表現できますか?

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

java-interop - Ceylon M1 NewtonでJavaCoreライブラリを使用できますか?

Ceylon SDKをダウンロードして少し遊んでみましたが、しばらくすると次のことに気付きます。

..。

SDK

現時点で利用可能なモジュールは、ディストリビューションに含まれている言語モジュールceylon.languageのみです。

http://ceylon-lang.org/blog/2011/12/20/ceylon-m1-newton/

それは私がClassNotFoundExceptionここに来る理由を説明しますか?それとも私は何か他のものが欠けていますか?

0 投票する
3 に答える
1696 参照

java - JavaコレクションをClojureデータ構造に変換する

java.util.LinkedHashSetを返すメソッドを使用してJavaAPIへのClojureインターフェースを作成しています。

まず、LinkedHashSetをclojureデータ構造に変換するためにこれを処理する慣用的なClojureの方法はありますか?

次に、JavaコレクションをClojureデータ構造に変換するための最良の方法は何ですか?

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

interface - Clojure でのインターフェイスの実装と Java 定数の呼び出し (初心者向け)

Clojure で Google Adwords API のラッパーを作成しようとしていますが、定数とインターフェイスに苦労しています。Java コードは次のようになります。

通常、(Math/PI) などを使用して Clojure で定数を呼び出すことができますが、次のように記述します。

「そのような名前空間はありません」というメッセージが表示されます。また、インターフェイスを正しく実装する方法についても少しわかりません。「reify」を使用する必要があると思いますが、行き詰まります。

インターフェイスへのリンク: http://google-api-adwords-java.googlecode.com/svn-history/r234/trunk/docs/com/google/api/adwords/v201003/cm/CampaignServiceInterface.html

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

php - PHP でスタンフォード コア NLP を使用していますか?

Ruby には、単純に JVM バージョンへのブリッジとして機能する、このすばらしい Stanford Core NLP 統合 gem があります。Python には、これがあり、少し複雑ですが、基本的に同じことをしているように見えます。

PHPでこれを行う方法があるかどうかは誰にもわかりませんか?