clojure-java-interop

    2熱度

    1回答

    爲什麼這兩個表達式都會給出相同的結果? > (macroexpand-all '(->> "string" (.charAt))) (. "string" charAt) > (macroexpand-all '(-> "string" (.charAt))) (. "string" charAt) 不是 「 - >>」 宏觀調控應該插入 「串」 在列表中的最後一個元素?

    5熱度

    1回答

    對於一個類,我需要編寫一些JVM代碼,並且我希望使用Clojure。我將它與軟件堆棧的底部一起工作,但我無法使它在位於頂部和底部的GUI層之間工作。我的主要問題是讓Java GUI識別我的Clojure文件。我想爲此使用Leiningen,但Java編譯解決方案似乎沒有考慮到這種互操作性。答案here似乎正是我所需要的。我不明白在哪裏放置代碼等等(只是不夠詳細)。有沒有人有任何提示? 我試着製作一

    33熱度

    3回答

    我把一個java lib包裝到clojure中,但是我在處理變長參數時遇到了問題。假設, TestClass.aStaticFunction(Integer... intList){/*....*/} 我怎麼能在clojure中調用這個函數?

    0熱度

    1回答

    我在clojure中編寫了此程序以將背景圖像添加到JTable。我堅持使用prepareRenderer函數。似乎clojure無法處理第一個參數rd(等效Java TableCellRenderer rd)。如果有人能幫我解決這個問題,我可能在這裏做得很糟糕,我非常感激。要運行該程序只是將其保存到一個文件tabletest.clj和類型在Clojure的提示: (load-file "table

    4熱度

    1回答

    我在Clojure中創建一個Java枚舉的方法不知所云。我想創建一個使用Java接口的Java枚舉,然後將它傳遞給Java方法,所有這些都在Clojure中完成。我想要做到這一點與neo4j圖形庫(我不想使用某人的預編譯接口,我想寫我自己的互操作代碼)。 我在互聯網上搜索,它看起來像我可以使用代理方法,但我不能讓我的生活得到它的工作。下面是相應的Java代碼,我需要用Clojure寫: priva

    3熱度

    1回答

    我正在學習Clojure的併發性。 我在http://dev.clojure.org/display/design/Scheduled+Events跑進一個如權利要求(由Stuart塞拉?),指出: 的Clojure功能不能使用時間控制流而不阻擋或Java互操作 爪哇互操作(的ScheduledThreadPoolExecutor)是不知道線程本地綁定 我不明白這些說法,並請求澄清,pe可能是一個

    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] (printl

    5熱度

    3回答

    我正在clojure中使用java類,它爲包含一系列記錄的域特定二進制文件提供檢索API。 java類初始化爲一個文件,然後提供一個.query方法,該方法返回一個只有一個方法.next的內部類的實例,因此不能很好地與通常的Java集合API一起玩。外層和內層類都不實現任何接口。 .query方法可能會返回null而不是內部類。 .next方法返回一個記錄字符串,如果沒有找到其他記錄,則返回nul

    8熱度

    3回答

    我正在使用表示結果序列的Java類(有點像Clojure向量)。 我想用這個類與典型的Clojure序列函數(即我想讓該類表現得好像它支持序列抽象)但是我不能改變類所以我無法做到它實施clojure.lang.Seqable或類似的。令人煩惱的是,該課程並未實施java.util.Collection或java.lang.Iterable。 我可以看到幾個選項: 使用iterator-seq對對象

    4熱度

    2回答

    關於這個問題的後續關於aget performance 似乎有什麼東西很奇怪進行優化明智。我們知道下面是真實的: => (def xa (int-array (range 100000))) #'user/xa => (set! *warn-on-reflection* true) true => (time (reduce + (for [x xa] (aget ^ints xa x