10181


例として

[code]

    void sample(int[] a){
      a[0] = 0;
    }
    
[/code]

のような関数は入力として引数に配列を渡し,結果は渡された配列に格納して結果を返す場合どのようにプログラムを書けばいいのでしょうか.


CC BY-SA 3.0
2015-05-14T11:01:04.887
10176
2015-05-14T12:31:52.020
7978
question
clojure
Clojure からJavaの関数呼び出し


例えば Java のコードが以下の様なプリミティブな int 配列の場合は

[code]

    public class ClojureSample {
        public static void sample(int[] a){
            a[0] = 0;
        }
    }
    
[/code]

Clojure 側でも list でなく int-array を使わないといけません。

[code]

    (let [a (int-array 3 [1 2 3])]
      (println (nth a 0))
      (. ClojureSample (sample a))
      (println (nth a 0)))
    
[/code]

結果

[code]

    1
    0
    
[/code]


CC BY-SA 3.0
2015-05-14T12:31:52.020
10181
2015-05-14T12:31:52.020
440
10176
answer