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