2012-04-03 8 views
5

私はJavaメソッドを使用したいと思います:R untime.getRuntime().availableProcessors()と結果を整数変数に保存します。Clojureのプロセッサ数? Java interop

(def n-cpu ((.availableProcessors (Runtime/getRuntime)))) 

と、この:

(def n-cpu (Integer/parseInt ((.availableProcessors (Runtime/getRuntime))))) 

が、どれも仕事

だから、Clojureの中に、私はこれをしませんでした。

提案がありますか?

答えて

15

あなたが整数であなたのバージョンでメソッド呼び出しを交換した場合、これはあなたが論理的に持っているものです:

非引用されたリストの最初の項目でなければなりませんので、Clojureのリスト (4)を扱うことができない
(def n-cpu (4)) 

関数。この場合、最初の項目は整数であり、Clojureは整数を関数として扱いません。あなたは、不要な括弧を削除する場合は、あなたのVARの定義は次のようになります。あなたは、整数とメソッド呼び出しを置き換えるならば、それは(def n-cpu 4)どうなるか

(def n-cpu (.availableProcessors (Runtime/getRuntime))) 

お知らせ?

+0

もう一度お手数をおかけします。 – nuvio

関連する問題