clojure-java-interop

    3

    1答えて

    JavaコードからClojure関数を呼び出したいと思います。この質問は最近尋ねられておらず、既存の回答は私のために働いていません。 (Clojure 1.3、leiningen 1.7.0)。 (ns thing.main (:gen-class :methods [#^{:static true} [foo [int] void]])) (defn -foo [i] (

    5

    3答えて

    私は一連のレコードを保持するドメイン固有のバイナリファイルの検索APIを提供するjavaクラスを使用してclojureで作業しています。 Javaクラスはファイルで初期化され、.nextというメソッドを1つしか持たない内部クラスのインスタンスを返す.queryメソッドを提供します。したがって、通常のJavaコレクションAPIでうまく動作しません。外部クラスも内部クラスも、どのインタフェースも実装し

    8

    3答えて

    私は、一連の結果(Clojureベクトルに似ています)を表すJavaクラスを使用しています。私はしかし、私はがクラスを変更することはできません一般的なClojureのシーケンス機能(つまり、私は、それが配列の抽象化をサポートするかのようにクラスの振る舞いを持つようにしたい)と、このクラスを使用したい はそれを作ることができませんclojure.lang.Seqableなどを実装してください。また、

    4

    2答えて

    フォローこの質問で約aget performance 最適化賢明に行く非常に奇妙な何かがあるようです。私たちは、次のことが本当だった知っていた: => (def xa (int-array (range 100000))) #'user/xa => (set! *warn-on-reflection* true) true => (time (reduce + (for [x xa]

    5

    3答えて

    私たちは、Clojure-Javaの相互運用機能を持つプロジェクトに取り組んでいます。この時点では、開発のためにEclipseのユーザーライブラリに入れたさまざまな依存関係を持つ単一のクラスがありますが、もちろんLeiningen(2.x)を使用するときは役に立ちません。私たちの依存関係のほとんどはプロプライエタリなので、どこかのリポジトリにはありません。 これを行う最も簡単な方法は何ですか? 私

    5

    1答えて

    クラスについては、JVMコードを記述する必要があり、Clojureを使用したいと考えています。私はソフトウェアスタックの底部で動作するようにしましたが、上に座っているGUIレイヤーと下の部分の間で動作させることはできません。私の主な問題は、Java GUIにClojureファイルを認識させることです。私はこれにLeiningenを使用したいが、Javaコンパイルソリューションはこの相互運用性を説明

    33

    3答えて

    私はjava libをclojureにラップしていますが、可変長引数を扱う際に問題があります。言って、 TestClass.aStaticFunction(Integer... intList){/*....*/} 私はこの機能をclojureで呼び出すことができますか?

    8

    2答えて

    Clojureの特定の関数に「特別な」タグを付けて、Javaコードがリフレクションを使用してそれらを認識できるようにする必要があります。私は、関数に注釈を追加しようとしましたが、明らかにサポートされていません。私はreifyのインターフェイスをIFnに拡張しようとしましたが(Javaコードが関数オブジェクトを認識できるように)、Clojureはinvokeを実装するコードとして直接的な方法を直接使

    7

    2答えて

    :コンストラクタマップと後続の定義では、どのようにしてvarargsコンストラクタを表現できますか?(スーパークラスには複数のコンストラクタがvarargsであると仮定します)

    8

    2答えて

    今日は我々のコードに問題がつまずいており、このClojureの質問に答えることができませんでした: Clojureのは、不純なコード(またはJavaコードの呼び出し)を評価してい厳密または遅延して? 副作用+遅延シーケンスが奇妙な動作につながる可能性があります。ここで は、私たちが疑問につながったことを知っているものです: Clojureのは怠惰なシーケンスがあります。 user=> (take