1
如果我將不得不在Java中的字符串數組在Java字符串數組的Clojure
例
public static void main (String [] args)
{
int x = Integer.parseInt(args[2]);
}
什麼是這個代碼Clojure中的等效?
如果我將不得不在Java中的字符串數組在Java字符串數組的Clojure
例
public static void main (String [] args)
{
int x = Integer.parseInt(args[2]);
}
什麼是這個代碼Clojure中的等效?
的Clojure可以直接調用Java方法,所以假設你的函數傳遞一個String數組,你可以這樣做:
(defn my-parse [args]
(Integer/parseInt (aget args 2)))
注意事項:
aget
是獲取一個元素的功能來自Java數組。(ClassName/methodName ...)
用於在Clojure中調用Java靜態方法這也值得注意那Clojure實際上可以是解構 Java數組。所以,你也可以這樣做:
(defn my-parse [[s0 s1 s2 & more-strings]]
(Integer/parseInt s2))
在這段代碼,s0
取第一個數組元素的值,s1
第二,s2
第三和more-strings
是任何剩餘的參數序列
因爲這個對象將在java中循環調用時,我會在每次調用循環時提取數組中的元素,並將其更新到java中的另一個數組中。這個代碼在clojure中等價於什麼。 – aceminer
@aceminer - 不太清楚你的意思 - 可能應該是一個單獨的問題? – mikera
也許我可以開始另一個可能更清晰的問題。 – aceminer