Javaで文字列配列がある場合
例
public static void main (String [] args)
{
int x = Integer.parseInt(args[2]);
}
clojure でこのコードに相当するものは何ですか?
Javaで文字列配列がある場合
例
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
2 番目、s2
3番目の配列要素の値を取り、more-strings
残りの引数のシーケンスです